python note 08 文件操作

博客围绕Python展开,介绍了文件路径中绝对路径与相对路径的比较,还阐述了文件操作模式,如只读、写入、追加等,以及seek和tell函数对光标的操作。此外,提及了注册、登录功能和文件修改等内容。

1、相对路径与绝对路径比较

#绝对路径

f = open('d:\pzw.txt',mode='r',encoding='UTF-8')
content = f.read()
print(content)
f.close()

#相对路径

f = open('pzw',mode='r',encoding='utf-8')
content = f.read()
print(content)
f.close()

 

2、

#对于r就是只读

f = open('pzw',mode='rb',)
content = f.read()
print(content)
f.close()

#对于w没有文件会创建文件,有文件会将源文件的内容全部清除再写

f = open('log',mode='w',encoding='utf-8')
f.write('123456')
f.close()

 

f = open('log',mode='wb')
f.write('123456'.encode('utf-8'))
f.close()

 

f = open('log',mode='w+',encoding='utf-8')
f.write('aaa')
print(f.read())
f.close()
#不显示任何内容

 

#对于a为追加功能

f = open('log',mode='a',encoding='utf-8')
f.write('666')
f.close()

 

f = open('log',mode='ab')
f.write('666'.encode('utf-8'))
f.close()

 

f = open('log',mode='a+',encoding='utf-8')
f.write('666')
f.seek(0)
print(f.read())
f.close()

 

3、seek用来调整光标位置,utf-8编码中文占三个字节

f.seek(3)  # 是按照字节定光标的位置

4、tell用来告诉你光标的位置

f.tell() 告诉你光标的位置

5、其他

f.readable()  # 是否可读
line = f.readline()  # 一行一行的读
line = f.readlines()  # 每一行当成列表中的一个元素,添加到list中

6、注册,登录

username = input('请输入你要注册的用户名:')
password = input('请输入你要注册的密码:')
with open('list_of_info',mode='w',encoding='utf-8') as f:
    f.write('{}\n{}'.format(username,password))
print('恭喜您,注册成功')
lis = []
i = 0
while i < 3:
    usn = input('请输入你的用户名:')
    pwd = input('请输入你的密码:')
    with open('list_of_info',mode='r+',encoding='utf-8') as f1:
        for line in f1:
            lis.append(line)
    if usn == lis[0].strip() and pwd == lis[1].strip():
        print('登录成功')
        break
    else:print('账号和密码错误')
    i+=1

 7、修改文件

# 修改文件
with open('file',encoding='utf-8') as f,open('file.bak','w',encoding='utf-8') as f2:
    for line in f:
        if '张三' in line:  #班主任:张三
            line = line.replace('张三','李四')
        #写文件
        f2.write(line) 

import os
os.remove('file') #删除文件
os.rename('file.bak','file')  #重命名文件

 

转载于:https://www.cnblogs.com/P-Z-W/p/10546987.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值