8,文件操作
f = open(“文件的路径”,"r(w,a)",encoding='utf-8')
r:只读,不能够写
data = f.read()#读全部,只能读一次,想读第第二次需要调整光标
print(f.tell()):告诉你光标的位置
f.seek(0):将光标移动到指定位置
f.readline()#读一行
读多行用for循环,可以加判断读任意行
f.readlines()#将文件转化成列表的形式,每一行为一个列表元素
.strip()去掉空格和换行符
for index,line in enumerate(f.readlines())#将列表的下标取出,然后判断哪行不打印
for line in f:一行一行的读,这时f是一个迭代器,这时自己加一个计数器,这时最高效的
w:新建一个文件,文件名存在会将原来的内容删除,然后写入新的东西,慎用,
f.write('\n') 换行需要加‘\n’
f.flush() 将写的内容立刻写入硬盘,以免断电
a;追加,不会删除文件的原来内容,只在后面接着写
进度条:
import sys
import time
for i in range(50):
sys.stdout.write("#")
sys.stdout.flush() time.sleep(0.5)
f.truncatr()无论在哪里都从开头开始截断
f = open('文件路径','r+',encoding='utf-8')
r+:可以读,无论光标在哪里只能在最后追加
w+:写读模式,重新创建一个文件,存在就覆盖,也只能在后面追加,
a+:追加读
rb:二进制读,网络传输,
wb: 二进制写
文件的修改:
两种方法:第一种,将文件全部读取到内存中,修改,然后再写回原文件中,这种不适合打得文件
第二种方法:使用循环,将文件一行行读出并判断,找到要修改的地方修改,然后写到新文件中,
使用字符串replace方法,或者直接给给line赋值,注意每行的换行符\n