文件内存储的内容是111111
#打开文件open
f = open('yesterday.txt',encoding='utf-8')#文件句柄
data = f.read()
data1 = f.read()
print(data)
print('------',data1)
运行结果:
111111
------
讲解:
通过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 二进制