一、文件处理读操作

# f=open('陈粒',encoding='utf-8')# data=f.read()# print(data)# f.close()# f=open('xxx')# data=f.read()# print(data)#r w af=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('陈粒1','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()三、文件处理追加操作

f=open('陈粒1','a',encoding='utf-8')f.write('写到文件最后')四、文件处理模式b模式

# f=open('test11.py','rb',encoding='utf-8') #b的方式不能指定编码# f=open('test11.py','rb') #b的方式不能指定编码# data=f.read()# #'字符串'---------encode---------》bytes# #bytes---------decode---------》'字符串'# print(data)# print(data.decode('utf-8'))# f.close()# f=open('test22.py','wb') #b的方式不能指定编码# f.write(bytes('1111\n',encoding='utf-8'))# f.write('杨件'.encode('utf-8'))五、文件处理其他模式

# f=open('xxx','r+',encoding='gbk')# # data=f.read()# # print(data)# # f.write('123sb')#### f.write('sb')#文件修改# src_f=open('xxx','r',encoding='gbk')# data=src_f.readlines()# src_f.close()## # for i in data:# # print(i)# print(data)# dst_f=open('xxx','w',encoding='gbk')# # dst_f.writelines(data)# dst_f.write(data[0])# dst_f.close()# with open('a.txt','w') as f:# f.write('1111\n')# src_f=open('xxx','r',encoding='gbk')# dst_f=open('xxx','w',encoding='gbk')# 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) #查看文件编码

# f=open('a.txt','r+',encoding='gb2312')# # data=f.read()# # print(data)# f.write('你好')# f=open('b.txt','r',encoding='utf-8',newline='') #读取文件中真正的换行符号# f=open('b.txt','r+',encoding='utf-8',newline='') #读取文件中真正的换行符号# print(f.closed)# print(f.encoding) #获取文件当前open的编码格式# f.flush() #刷新保存文件# print(f.readlines())# print(f.tell()) #获取当前光标位置# f.readline()# print(f.tell())# f.seek(1) #指定光标位置# print(f.tell())# print(f.readlines())# f.seek(3)# print(f.tell())# print(f.read())# data=f.read(1)# print(data)# f.truncate(10) #截取文件# f.flush() #讲文件内容从内存刷到硬盘## f.closed #文件如果关闭则返回True读取大文件最后一行

for i in f: #这样读文件,不会一下占用很多内存空间 s = -10 #倒着读,用负数 while True: f.seek(s, 2) #2表示倒着标识文件 data = f.readlines() if len(data) > 1: print('文件最后一行是:%s' % data[-1].decode('utf-8')) break else: s *= 2