1、文件处理流程
1)打开文件,得到文件句柄并赋值给一个变量
2)通过句柄对文件进行操作
3)关闭文件
4)文件读写的参数必须是字符串
5)样例
f=open("陈情令","r",encoding="utf8") #open("陈情令",encoding="utf8")文件句柄, # "陈情令"是文件路径,当文件在同一层级路径时,可以直接写文件名,取相对路径
#f就是变量
#默认为只读模式r data=f.read()#读取文件全部内容 print(data) f.close()#关闭文件
2、文件处理:读模式
f=open("陈情令","r",encoding="utf8") #open("陈情令",encoding="utf8")文件句柄, print("第1行:",f.readline(),end="") #去掉换行 print("第2行:",f.readline()) print("第3行:",f.readline()) print("第4行:",f.readline()) print("第5行:",f.readline()) print("第6行:",f.readline()) print(f.readable()) #判断文件模式是否是可读模式 print("第7行:",f.readline()) print("第8行:",f.readline())
f.close()
方式二: f=open("陈情令","r",encoding="utf8") #open("陈情令",encoding="utf8")文件句柄, print("第1行:",f.readline(),end="") #去掉换行 print("第2行:",f.readline()) print("第3行:",f.readline()) print(f.readable()) #判断文件模式是否是可读模式 data1=f.readlines()#读取文件所有内容,放到一个列表当中 print(data1) f.close()
3、文件处理:写模式
如果文件存在内容,启动写模式时,会清空文件内容,等待写入
如果文件不存在,启动写模式时,会创建一个新文件,等待写入,写模式只能写不能读
f=open("肖战哥哥","w",encoding="utf8") print(f.writable()) f.write("1111\n22222\nI love you 战哥\n") f.writelines(["祝福\n","我爱你战哥"]) f.close()
4、文件处理:追加模式a
f=open("肖战哥哥","a",encoding="utf8") f.write("平静\n自我\nI love you 战哥\n") f.writelines(["不忘初心继续前进","爱你"]) f.close()
5、文件其他处理:可读可写r+ 和 自动关闭文件with
#可读可写r+ f=open("肖战哥哥","r+",encoding="utf8") data=f.read() print(data) f.write("I love you 战哥\n") f.close()
with open("肖战哥哥","r",encoding="utf8") as f1, open("王一博酷盖","w",encoding="utf8") as f2: data=f1.read() f2.write(data) #从原文件f1中读取全部数据,将f1数据写到第二个文件f2中去 #with会同时关闭f1和f2文件
6、文件处理的b模式:原生文件处理方式:二进制
1)文件默认的处理方式是文本方式 rt \wt\at处理,但是图片和视频都是二进制方式处理
2)二进制方式处理的文件是可以跨平台的
#方式一:rb f=open("陈情令","rb") #b方式不可以指定编码 data=f.read() print(data) print(data.decode("utf8")) f.close() #b‘\xe8\x82\x96\xe6\x88\x98\xe5\x93\xa5\xe5\x93\xa5\xe5\x8a\xa0\xe6\xb2\xb9\xef\xbc\x8c\xe6\x88\x91\xe7\x9a\x84\xe5\x81\xb6\xe5\x83\x8f\xef\xbc\x81\r\n\xe6\xa6\x9c\xe6\xa0\xb7\xe7\x9a\x84\xe5\x8a\x9b\xe9\x87\x8f\xef\xbc\x8c\xe6\x88\x91\xe4\xb9\x9f\xe8\xa6\x81\xe5\x8a\xa0\xe6\xb2\xb9\xef\xbc\x81\r\n\xe4\xb8\x8d\xe5\xbf\x98\xe5\x88\x9d\xe5\xbf\x83\xef\xbc\x8c\xe8\xb4\xb5\xe5\x9c\xa8\xe5\x9d\x9a\xe6\x8c\x81\xef\xbc\x81\r\n\xe4\xbb\xbb\xe4\xbd\x95\xe4\xba\x8b\xe6\x83\x85\xe9\x83\xbd\xe8\xa6\x81\xe5\x9d\x9a\xe6\x8c\x81\xef\xbc\x8c\xe5\x9d\x9a\xe6\x8c\x81\xe8\x87\xaa\xe5\xb7\xb1\xe7\x9a\x84\xe5\x88\x9d\xe5\xbf\x83\xef\xbc\x8c\xe5\x8a\xaa\xe5\x8a\x9b\xef\xbc\x8c\xe7\x9b\xb8\xe4\xbf\xa1\xe8\x87\xaa\xe5\xb7\xb1\xef\xbc\x8c\xe6\x89\x8d\xe5\x8f\xaf\xe8\x83\xbd\xe5\xbe\x97\xe5\x88\xb0\xe8\x87\xaa\xe5\xb7\xb1\xe6\x83\xb3\xe8\xa6\x81\xe7\x9a\x84\xe7\xbb\x93\xe6\x9e\x9c\xef\xbc\x8c\xe6\x9c\x9f\xe5\xbe\x85\xe8\x87\xaa\xe5\xb7\xb1\xe7\x9a\x84\xe5\xb0\x8f\xe5\xae\x87\xe5\xae\x99\xe7\x88\x86\xe5\x8f\x91\r\n\xe9\x9d\xa0\xe4\xba\xba\xe4\xb8\x8d\xe5\xa6\x82\xe9\x9d\xa0\xe8\x87\xaa\xe5\xb7\xb1\r\n\xe8\x87\xaa\xe5\xb7\xb1\xe5\xbc\xba\xe5\xa4\xa7\xe4\xba\x86\xef\xbc\x8c\xe5\xae\x89\xe5\x85\xa8\xe6\x84\x9f\xe8\x87\xaa\xe5\xb7\xb1\xe7\xbb\x99‘
#wb/ab f=open("肖战哥哥","wb") #b方式不可以指定编码 f.write(bytes("赞赞爱你\n",encoding="utf8")) f.write("123木头人\n".encode("utf8")) f.close()
7、文件操作方法
python基础学习——文件处理模式:读r&写r&追加a&r+可读可写
原文:https://www.cnblogs.com/xucuiqing/p/11681965.html