文件操作(二)
1、f.tell()和f.seek(0):
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 f=open('my_heart_will_go_on','r',encoding='utf-8')#f 是文件句柄,默认是只读模式r,w是写模式——创建方式,会覆盖文件本身 2 #a是append追加模式不会覆盖原文件本身 3 print(f.tell())#文件打开在什么位置。0代表在文件列表开头字符 4 print(f.readline()) 5 print(f.readline()) 6 print(f.tell())#按字符的个数计数的 7 print(f.seek(0))#回到文件字符的开始位置 8 print(f.readline())
2、f.encoding:文件的编码形式
3、f.flush():从内存是否刷写到硬盘,强制刷新,写关键数据,比如存钱
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 import sys,time 2 for i in range(50): 3 sys.stdout.write('#') 4 sys.stdout.flush() 5 time.sleep(0.1)
4、f.truncate()#从文件开头截断
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 f=open('my_heart_will_go_on','a',encoding='utf-8')#f 是文件句柄,默认是只读模式r,w是写模式——创建方式,会覆盖文件本身 2 #a是append追加模式不会覆盖原文件本身 3 f.truncate()#从文件开头截断
5、读写(r+)打开并追加到文件尾部,写读(w+)不常用,追加读(a+)
6、文件的rb模式,二进制格式的读-写,用于网络传输
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #二进制,rb,先创建文件a.text 2 f=open('a','wb')#文件句柄,二进制编码文件-写 3 f.write('二进制文件写入的\n'.encode())#想写入,要转换成二进制格式 4 f.close() 5 f=open('a','rb')#文件句柄,二进制编码文件-读 6 print(f.readline().decode())#读取二进制文件,转化为utf-8