33.文件操作

操作流程:


打開文件,得到句柄並賦值給一個變量  句柄爲讀取文件的內存對象

操作文件 關閉文件

打開文件:

data= open("yesterday",encoding="utf-8").read()

print(data)


r 讀取

w 寫入

f = open("yesterday","w",encoding="utf-8")

r讀取文件打開從上到下開始讀 ,讀完後光標在文件最後面,第二次讀只能重新讀、w寫入的時候覆蓋原文件。

f.write("我愛北京天安門\n")   \n 換行

f.write("天安門上太陽升")


a 追加 

f = open("yesterday","a",encoding="utf-8")

f.write("我愛北京天安門.......\n")   \n 換行

f.write("天安門上太陽升........")

 

f.readline()    讀取一行

f.readlines()  讀取文件作爲一個列表,一行行讀

 只能讀取小文件到內存中。


 for line in f:

    print(line)

把文件作爲迭代器,  一行行讀取文件,並且不佔用內存

不會變成列表,沒有下標。

自己加計數器

for line in f :

    if count == 9:

        print("----------我是分割線")

        continue

    print(line)

    count +=1


f = open("yesterday",encoding="utf-8").read()

print(f.tell())   記數,記數讀取多少個字符

f.seek(0) 光標退回到第0個字符


f.flush() 刷新剛剛寫入的文件,確保寫入到硬盤上

sys.stdout.write(#1")  在屏幕上,標準輸出  打印進度條

import sys,time

for i  in range(20):

    sys.stdout.write("#")

    sys.stdout.flush()   實時刷新,沒有這個進度條不慢慢走

    time.sleep(0.1)


f = open("yesterday","a",encoding="utf-8")

f.truncate(10)   從文件開頭截取10個字符 


文件既能讀又能寫,

r+  讀取和追加的形式

f = open("yesterday","r+",encoding="utf-8")

f.write("------------")   在文件最後追加


f = open("yesterday","w+",encoding="utf-8")

print(f.write("------------"))

print(f.write("------------"))

print(f.write("------------"))

print(f.tell)

f.seek(10)

print(f.tell)

print(f.readline())

f.write("should be at the beginnging of the second line")

f.close()

追加只能從最後追加,不能從中間修改


f = open("yesterday","rb",encoding="utf-8")  以二進制的格式讀取文件

網絡傳輸,只能用二進制模式傳輸



f.closed()  看文件是否關閉

f. isatty(終端設備,打印機交互)

f.seekable() 判斷能否移動光標


f.readable() 判斷文件是否可讀

f.writeable()判斷文件是否可寫






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章