python學習筆記08 文件操作

f = open("歌姬", mode = "r", encoding="utf-8")
s = f.read()

f.close() # 不要忘記關閉句柄
../ 返回上一層目錄

相對路徑 相對於當前程序所在的文件夾

絕對路徑 a從磁盤根目錄尋找 b互聯網上的絕對路徑

f.flush() 刷新緩衝區

mode="w" "wb" "w+" 寫入之前會清掉前面的內容(只要帶w就會清空) w+通常是不用的(因爲很難用)

mode="a" 在原來的基礎上進行追加內容,不會清空前面的內容

mode="rb" 以字節方式讀取內容

可以用解碼方式讀取爲文字 print(bs.decode("utf-8"))

mode= "w" "r" "a" 處理文本內容

mode= "wb" "rb" "ab"處理非文本內容

mode= "r+" 模式

默認光標在文件開頭,如果先寫後讀會導致寫入內容被寫在文件開頭,文件開頭的內容被覆蓋,必須先讀後寫纔是安全的.

r+ 讀寫模式重大bug?只要讀過內容,再進行寫入或者其他文件操作(非讀操作)時,光標都在末尾 

    反覆讀寫需要移動光標

f.seek(x  移動到x位置,x的單位是byte,如果是utf-8編碼的中文,則數字應爲3的倍數

f.seek(0)  移動光標到開頭

f.seek(0,2) 移動光標到末尾

tell( )  返回當前光標位置

read(n)   讀取n個字(單位是字符)

文件修改: 創建新文件,把修改後的內容寫入新文件,刪除老文件,再重新命名新文件

for line in f:        for循環讀取文件,每次讀取一行  for循環可以迭代文件句柄

    print(line)  

import os

 os.remove("")   刪除文件

os.rename("原文件","新文件")  重命名文件

with open("文件名")  as f : 

這種寫法不需要 close ( ) 關閉文件句柄

readable()

writeable()

文件切割 line.split() 

 

 

 

 

 

 

 

 

 

 

 

 

 

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