原文:https://www.cnblogs.com/linhaifeng/articles/5984922.html
文件处理流程:
1. 打开文件,得到文件句柄并赋值给一个变量
2. 通过句柄对文件进行操作
3. 关闭文件
#1. 打开文件的模式有(默认为文本模式): r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】 w,只写模式【不可读;不存在则创建;存在则清空内容】 a, 之追加写模式【不可读;不存在则创建;存在则只追加内容】 #2. 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码、图片文件的jgp格式、视频文件的avi格式) rb wb ab 注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码 #3. 了解部分 "+" 表示可以同时读写某个文件 r+, 读写【可读,可写】 w+,写读【可读,可写】 a+, 写读【可读,可写】 x, 只写模式【不可读;不存在则创建,存在则报错】 x+ ,写读【可读,可写】 xb
#1. 打开文件,得到文件句柄并赋值给一个变量 f=open(‘a.txt‘,‘r‘,encoding=‘utf-8‘) #默认打开模式就为r #2. 通过句柄对文件进行操作 data=f.read() #3. 关闭文件 f.close()
读文件
f=open(‘文件‘,‘r‘,encoding=‘utf-8‘) # data=f.read() # # print(data) # print(f.readable()) # print(‘第1行‘,f.readline(),end=‘‘) # print(‘第2行‘,f.readline()) # print(‘第3行‘,f.readline()) # # for i in range(1): # # pass # print(‘第4行‘,f.readline()) # print(‘第5行‘,f.readline()) # print(‘第6行‘,f.readline()) # print(‘第7行‘,f.readline()) data=f.readlines() #读所有 print(data) f.close()
写文件
f=open(‘文件名‘,‘w‘,encoding=‘utf8‘) # f.read() f.write(‘11111111\n‘) f.write(‘222222222\n‘) f.write(‘333\n4444\n555\n‘) # f.writable() f.writelines([‘555\n‘,‘6666\n‘]) f.writelines([‘555\n‘,‘6666\n‘,1]) # 文件内容只能是字符串,只能写字符串 f.close()
第二种方法(with关键字,不用手动close)
# 一行太长时斜杠+回车换行 with open(‘xxx‘,‘r‘,encoding=‘gbk‘) as src_f, open(‘xxx_new‘,‘w‘,encoding=‘gbk‘) as dst_f: data=src_f.read() dst_f.write(data) # f=open(‘a.txt‘) # print(f.encoding) #查看文件编码
原文:https://www.cnblogs.com/raitorei/p/11815017.html