一、文件操作方法:
文件操作的结果都是str,需要将 str转化为 python 的对象才能后续进行操作。
1、open(‘文件的路径’,‘文件的打开方式’,encoding = 文件的编码格式):
① 该方法为需要关闭文件: 文件句柄.close()。
② 如果以二进制方式处理不需要加编码格式。常用于存储 音乐与图片。
③文件句柄只能遍历一次。
注意: 文件句柄 只能打印一次
f = open('111.txt','r',encoding='gbk') # 默认为系统的编码格式
print(f.read()) # 读取全部
print(f.readlines()) # 将所有内容 打印为列表,每一行文本作为列表的每一个元素。
print(f.readline()) # 打印一行 , 类似迭代器中的 .__next__() ,一行一行读取。
print(f.readline())
for i in f.readlines(): # for循环readines的列表 打印全部,相当于 f.read()
print(i)
for i in f: # 循环打印全部
print(i) # 结果
f.close() # 文件读取结束
(1)文件的路径:相对路径 、绝对路径。
(2)文件打开的方式:
1、w 写模式,它是不能读的,如果用w模式打开一个已经存在的文件,会清空以前的文件内容,重新写
w+ 是读写内容,只要沾上w,肯定会清空原来的文件
2、r 读模式,只能读,不能写,而且文件必须存在
r+ 是读写模式,只要沾上r,文件必须存在
3、a 追加模式,也能写,在文件的末尾添加内容
4、rb+、wb+、ab+,这种是二进制模式打开或者读取,一些音乐文件
2、with open(‘文件的路径’,‘文件的打开方式’,encoding = 文件的编码格式) as f:
①不用关闭文件,系统自动关闭。
读
with open('test1.txt','r+') as file:
for line in file:
print('line里面存放的是:',line) # 循环打印文件中每一行内容
print(type(line)) # <class 'str'> 类型是字符串
写
with open('222.txt','wb') as file1:
f = open('111.txt', 'rb')
file1.write(f.read())
f.close() # 关闭 文件句柄 f