文件操作
一、函数:
f = open(’文件名','打开方式'[,encoding='字符编码'])
open 打开的方式
字符 | 说明 |
---|---|
r | 只读的方式打开 |
rb | 以二进制的形式打开文件 只读 |
r+ | 打开一个文件 用于读写 |
w | 打开一个文件 用于清空写 文件不存在则尝试创建 |
wb | 以二进制写的形式打开文件 清空写 文件不存在则尝试创建 |
a | 打开文件用于追加写 文件不存在则尝试创建 |
ab | 以二进制形式打开文件用于追加写 文件不存在则尝试创建 |
a+ | 以二进制形式打开文件用于读写 文件不存在则尝试创建 |
二、文件的写
f.write()
f.writelines() 以列表的形式 写入多行
f.flush() 刷新缓冲区 将内容立即写入文件中
f.tell() 返回当前的位置
实例
f = open('a.txt','w',encoding='utf-8') #以utf-8的编码写入数据
f.write('我是第一行数据
') #写入一行数据
f.writelines(['我是第一行数据
','我是第二行数据
']) #以列表形式写入多行数据
f.close()
三、文件的读
f.read([size]) 默认读取全部 如果有size 按照size去读取
f.readline() 读取一行
f.readlines() 读取多行以列表形式返回
next() 返回下一行
文件得读
f = open('a.txt','r',encoding='utf-8')
f.read() #读取以后就是解码以后得内容
f = open('a.txt','rb')
print(f.read().decode('utf-8')) #读取编码后的内容 手动解码(以...编码 就用什么解码)
四、关闭资源
f.close()
五、对于带b的操作
(1) 使用默认的
open(文件名,'w') #此刻使用的是计算机的默认编码
open(文件名,'r')
(2) 指定编码
open(文件名,'w',encoding='utf-8') #指定编码操作 读写统一
open(文件名,'r',encoding='utf-8')
(3) 以进制的形式读写(需要指定读和写的编码)
f.open(文件名,'wb') #以进制形式写入
f.write('内容'.encode('utf-8')) #编码 然后写入
f = open(文件名,'rb')
f.read().decode('utf-8')