文件操作流程
- 打开文件 #现代的os程序不可以直接操作磁盘,先将读写操作打开一个对象,后续对磁盘处理
- 操作文件
- 关闭文件
文件操作最佳语句(with)*****
eg:
with open('文件操作文本','r',encoding='utf8') as f:
data = f.read()
print('%r'%data) #调试data的数据类型
文件操纵方法
r 读
f.read([size]) #返回的是一个字符串,read(4):读多少个字符
f.readline() #一行内容
f.readlines() #返回的list,每个元素就是一行的内容
r+ 先读,后写
光标从0开始,读从0开始,写在结尾处追加
先写,后读
会对相应的字符长度进行覆盖,读光标在写操作的位置
w 写,会先删除文本的所有内容
f.write()
w+ 先删除,光标会在结尾
a 追加,在文本最后追加
a+ 光标在最后,读从最后,写在最后追加
几个操纵光标的方法
f.tell() #返回光标的所在位置
f.seek() #可以调整光标的位置,ftp的断点续传
f.flush #将缓存的数据更新到磁盘中
进度条代码
import sys,time
for i in range(30): #进度条实现方法
sys.stdout.write('==>')
sys.stdout.flush() #将缓存的数据刷到磁盘上,但是这种方法比较费cpu
time.sleep(0.2)
历遍文件最佳方法
with open('txt','r') as f_read , open('txt1','w') as f_write:
num = 0
for line in f_read: #这个是将文件里做成一个迭代器,用一个拿一个
num += 1
if num == 2:
line = ''.join([line.strip(), 'makun\n'])
f_write.write(line)