文件操作

文件操作流程

  1.打开文件,得到文件句柄并赋值给一个变量

  2.通过句柄对文件进行操作

  3.关闭文件

#读取大文件适合用,因为它读取的内容只占内存为一行
#因为变成了迭代器了
f = open("file_1.txt","r",encoding="utf-8") for line in f : print(line) f.close()
#如果想要对某一行有特殊的处理的话,只能用计时器,迭代器是没有下标的
f = open("file_1.txt","r",encoding = "utf-8")
coun = 0  ###计时器
for line in f:
     if conu ==10:  ###判断
          print("-----我很重要------")
          conu +=1
    print("line")
    coun +=1


 
###基本操作encoding = "utf-8"支持中文,基本的
##"a"读写模式
f = open("lyrics","a",encoding = "utf-8")#打开文件 first_line = f.readline()#逐行读取####写#write() print("first line:",first_line)#读一行 data = f.read() ##读取剩下的内容,文件大时不要使用 print(data) # 打印文件 f.close()#关闭文件
##循环读取 有范围
f_1 = open("file_1.txt","r",encoding="utf-8")


for data1 in range(1,5):
    data = f_1.readline() 
    print(data)

f_1.close()
##循环读取  全部逐条读取
f_1 = open("file_1.txt","r",encoding="utf-8")

for line in  f_1.readlines():
    print(line.strip())

f_1.close()
f_1 = open("file_1.txt","r",encoding="utf-8")

for index,line in  enumerate(f_1.readlines()):
    if index == 9:
        print("---------caicai--------")
        continue
    print(line.strip())

f_1.close()
##进度条
import sys,time
for i in range(20):
    sys.stdout.write("*")###向屏幕输出
    sys.stdout.flush() ###打印缓冲
    time.sleep(0.1)##打印一个的时间
f.fell()##光标移到读取的文件尾部,返回字符数
f.seek(0)##光标回到0,下次重新读取
f.flush()写入文件的时候,没有写入成功情况下,会有一个缓冲区,有这句代码下次会重新写入





r+  #读写,可以读,也可以写,写是以追加的形式写入
w+ #写读,以创建文件的形式,先写入文件,然后再读取,注意:之前的文件里面有的东西全部覆盖掉
a+ ###追加读写
rb ##只能用于二进制,用于传输文件的时候的场景
wb #写二进制