一.文件操作
#1. 打开文件的模式有(默认为文本模式):
r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
w,只写模式【不可读;不存在则创建;存在则清空内容】
a, 只追加写模式【不可读;不存在则创建;存在则只追加内容】
#2. 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码、图片文件的jgp格式、视频文件的avi格式)
rb
wb
ab
注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码
#3,‘+’模式(就是增加了一个功能)
r+, 读写【可读,可写】
w+,写读【可写,可读】
a+, 写读【可写,可读】
#4,以bytes类型操作的读写,写读,写读模式
r+b, 读写【可读,可写】
w+b,写读【可写,可读】
a+b, 写读【可写,可读】
1.bytes----->str
f =open('1.txt',mode='r',encoding='utf-8')
content = f.read()
print(content,type(content))
f.close()
f =open('1.txt',mode='rb')
content = f.read()
print(content,type(content))
f.close()
2.对于w:没有此文件就会创建文件
f =open('log.txt',mode='w',encoding='utf-8')
f.write('哈哈哈哈哈哈哈')
f.close()
3.先将源文件内容清除再写
f =open('log.txt',mode='w',encoding='utf-8')
f.write('呵呵呵呵呵呵')
f.close()
f =open('log.txt',mode='wb')
f.write('呵呵呵呵呵呵'.encode('utf-8'))
f.close()
4.追加
f =open('log.txt',mode='a',encoding='utf-8')
f.write('hhhhh')
f.close()
f =open('log.txt',mode='ab')
f.write('gggggg'.encode('utf-8'))
f.close()
5.读写
f =open('log.txt',mode='r+',encoding='utf-8')
print(f.read())
f.write('点点滴滴')
f.close()
f =open('log.txt',mode='r+',encoding='utf-8')
f.write('点点滴滴')
print(f.read())
f.close()