文件写
# Author:Li Dongfei
# data = open("yesterday",encoding="utf-8").read() #打开文件
f = open("yesterday2",'w',encoding="utf-8") #文件句柄
#data = f.read() #读
f.write("--test--test--\ntest--")
#print(data)
文件读
# Author:Li Dongfei
# data = open("yesterday",encoding="utf-8").read() #打开文件
f = open("yesterday2",'r',encoding="utf-8") #文件句柄
data = f.read() #读
#f.write("--test--test--\ntest--")
print(data)
追加
# Author:Li Dongfei
# data = open("yesterday",encoding="utf-8").read() #打开文件
f = open("yesterday2",'a',encoding="utf-8") #文件句柄
#data = f.read() #读
f.write("--test--test--\ntest--")
#print(data)
读一行
f = open("yesterday",'r',encoding="utf-8")
print(f.readline()) #读一行
for i in range(5):
print(f.readline())
for line in f.readlines():
print(line)
f.close()
读指定行
for index,line in enumerate(f.readlines()):
if index == 9:
print('---空---')
continue
print(line.strip())
f.close()
高效读
f = open("yesterday",'r',encoding="utf-8")
count = 0
for line in f:
if count == 9:
print('---kong---')
count += 1
continue
print(line)
count += 1
指针操作
f = open("yesterday",'r',encoding="utf-8")
print(f.tell()) #打印指针位置
print(f.read(60)) #读8个字符
print(f.tell())
f.seek(0) #将指针移动到起始点
print(f.tell())
利用flush制作进度条
# Author:Li Dongfei
import sys,time
for i in range(50):
sys.stdout.write("#")
sys.stdout.flush()
time.sleep(0.5)
文件常用判断
f = open("yesterday",'r',encoding="utf-8")
print(f.encoding) #打印文件编码
print(f.fileno()) #返回文件在内存中的一个接口编号
print(f.name) #返回文件名
print(f.isatty()) #判断是否是终端设备
print(f.seekable()) #是否可移动指针
print(f.readable()) #判断文件是否可读
print(f.writable()) #判读文件是否可写
print(f.flush()) #刷新,强制同步写入磁盘
print(f.closed) #判断文件是否关闭
截断
f = open("yesterday",'a',encoding="utf-8")
f.truncate(30) #从头开始截断
读写和写读
f = open("yesterday",'r+',encoding="utf-8") #读写
f = open("yesterday",'w+',encoding="utf-8") #写读
f = open("yesterday",'a+',encoding="utf-8") #追加读
f = open("yesterday",'rb') #二进制读
f = open("yesterday",'wb') #二进制写
修改文件
# Author:Li Dongfei
f = open("yesterday","r",encoding="utf-8")
f_new = open("yesterday2","w",encoding="utf-8")
for line in f:
if "年少轻狂" in line:
line = line.replace("年少轻狂","轻狂年少")
f_new.write(line)
f.close()
f_new.close()
with语句
# Author:Li Dongfei
with open("test_f1","r",encoding="utf-8") as f:
for line in f:
print(line)
打开多个文件
# Author:Li Dongfei
with open("test_f1","r",encoding="utf-8") as f \
open("test_f2", "w", encoding="utf-8") as f2:
for line in f:
print(line)