文件操作181024

文件写

# 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)

猜你喜欢

转载自www.cnblogs.com/L-dongf/p/9859180.html