1.文件读写的模式
r:只读,文件不存在会报错
w:只写,会把文件原本的内容删除,一般用于新建,文件不存在会新建
a:只追加,在文件的尾部进行追加,文件不存在会新建
r+:可读可写,根据光标位置开始写入,有可能会覆盖内容
wenjian = open('log.txt',mode='r+',encoding='utf-8') #将光标位置后移动6个字节 wenjian.seek(6) wenjian.write('王佃超')
# 关闭文件
wenjian.close()
w+:写入时,会将文件清空,读取时需要调整文件光标(一般不用)
a+:光标默认在文件最后,读的时候需要调整光标,写的时候光标自动跳到最后进行追加
2.读取文件
wenjian = open('log.txt',mode='r',encoding='utf-8') # 将文件所有内容读取到内存 wdc = wenjian.read() print(wdc)
# 关闭文件
wenjian.close()
wenjian = open('log.txt',mode='r',encoding='utf-8')
# 从当前光标位置向后读取两个字符
wdc = wenjian.read(2)
print(wdc)
# 关闭文件
wenjian.close()
wenjian = open('log.txt',mode='r',encoding='utf-8')
# 从当前光标位置向后读取到内存,并且安装每一行分割到列表中。
wdc = wenjian.readlines()
print(wdc)
# 关闭文件
wenjian.close()
wenjian = open('log.txt',mode='r',encoding='utf-8')
# 如果文件太大,可以这样每行打印一次
for line in wenjian:
# 去除换行
line = line.strip()
print(line)
wenjian.close()
3.文件的写操作
wenjian = open('log.txt',mode='w',encoding='utf-8') # 换行写入 wenjian.write('你好! ') # 基本的写操作 wenjian.write('大家好!') # 关闭文件 wenjian.close()
4.以二级制编码写入
wdc = open('log.txt',mode='wb')#wb:以二级制编码写入 data = '王佃超' # 将字符串转换为二进制编码 content = data.encode('utf-8') wdc.write(content) wdc.close()
5.以二进制编码读取
wdc = open('log.txt',mode='rb')#wb:以二级制编码读取 yhf = wdc.read() wdc.close() print(yhf)
ab:以二进制编码往后追加
r/w/a [只读只写字符串]
r+/w+/a+ [可读可写字符串]
rb/wb/ab [只读只写二进制]
r+b/w+b/a+b [可读可写二进制]
6.文件的简单写法~
# 以with开头,可以不用写最后的close()方法来关闭文件,在结尾用as qqq 给文件命名 with open('log.txt',mode='w',encoding='utf-8') as qqq: qqq.write('wdc!')