文件操作
2020-03-15 本文已影响0人
三米板
文件内容操作
python中的文件操作还是挺简单的,类似于php中的文件方法,精简好用。
我们来看一下。
核心api
file = open('/path/to/file.txt',mode='r',encoding='utf-8')
file.write('难念的经')
file.flush()
file.readline()
file.readlines()
file.seek()
file.tell()
file.close()
简简单单,板板蒸蒸,三个api,解决大部分文件
来解释下一:
file = open('/path/to/file.txt',mode='r',encoding='utf-8')
三个参数:文件路径,打开模式,编码
文件打开模式包括,r,w,wb,x等,使用时可以自行搜索,那么多可真不好记。认识就行。
file.write("")
file.flush()
这个应该不用说了,写文件,但是在写完文件之后,记得flush()一下,保证缓存区的内容都写到了文件内部。
file.readline()
file.readlines()
读取文件,注意一点的是,使用readlines()的时候,因为是一次性读取,如果文件很大的话,一次性读取,会造成空间的浪费,所以慎用为好。
seek()
file.tell()
这个操作我们需要着重看一下,有时候还是挺有用的。
seek操作:seek(n)光标移动到n位置,注意: 移动单位是byte,所有如果是utf-8的中文部分要是3的倍数
seek(0,0)默认为0,移动到文件头
seek(0,1)移动到当前位置
seek(0,2)移动到文件尾
file.tell()命令可以告诉我们现在光标的位置。这个目前在我经历的项目中,感觉没太大用处。
文件体操作
上面是一些文件的读写操作,如果对文件进行移动等操作,还要讲到os模块。
我们直接用一个例子来说明吧,这个非常的简单,一看就会,一用就对。
import os
with open("我要练出大胸肌", mode="r", encoding="utf-8") as f1,\
open("我要练出大胸肌_new", mode="w", encoding="UTF-8") as f2:
for line in f1:
new_line = line.replace("口水鸭", "叫花鸡")
f2.write(new_line)
os.remove("我要练出大胸肌") # 删除源⽂文件
os.rename("我要练出大胸肌_new", "我要练出大胸肌") # 重命名新文件