通过open打开文件,读取文件中的内容,因为windows 采用的gb123 编码格式 所以转码,读取时是光标的形式读取,所以data运行后未输出内容
opend中w属性: #打开文件open #w写一个文档,所以会覆盖之前的文档 f = open('yesterday.txt','w',encoding='utf-8')#文件句柄 #写内容 data =f.write("新内容用")
运行后文件中的原内容被覆盖掉,w覆盖原内容用来写文件内容的
opend中a属性:
#打开文件open #w不会覆盖内容在光标后加入内容 f = open('yesterday.txt','a ',encoding='utf-8')#文件句柄 #写内容 data =f.write("新内容用")运行后 会在光标后添加内容
readline 按行读取文件内容:
#读取五行内容 for i in range(5): data = f.readline() print(data.strip())
readlines 读取文件内容变成list
#打开文件open #w写一个文档,所以会覆盖之前的文档 f = open('yesterday.txt','r',encoding='utf-8')#文件句柄 #第2行的时候不打印 data = f.readlines() for index,temp in enumerate(data): if index==3: continue print(temp.strip()) 按行读取效率最高的方法: #打开文件open f = open('yesterday.txt','r',encoding='utf-8')#文件句柄 #按行读取,这种读取效率最高 for line in f: print(line.strip())tell/ seek 读取光标位置,调整光标位置
#打开文件open #w写一个文档,所以会覆盖之前的文档 f = open('yesterday.txt','r',encoding='utf-8')#文件句柄 #读取光标的位置tell print(f.readline()) print(f.tell()) #seek查找 可以移动光标 print(f.seek(0))encoding文件编码
flush()刷新实时像硬盘刷新类似进度条的小代码
import sys import time for i in range(20): sys.stdout.write("+++++") sys.stdout.flush() time.sleep(0.5) r+ 读写,写的时候在最后一行w+写读,写的时候默认在最后一行
a+追加写,写的时候在最后一行
rb/wb 二进制