python3 檔案操作,
步驟:開啟檔案-》操作檔案-》關閉檔案
開啟檔案
檔案控制代碼 = open('檔案路徑', '模式')
指定檔案編碼
檔案控制代碼= open('檔案路徑','模式',encoding='utf-8')
為了防止忘記關閉檔案,可以使用上下文管理器來開啟檔案
with open('檔案路徑','模式') as 檔案控制代碼:
開啟檔案的模式有:
- r,唯讀模式(預設)。
- w,唯寫模式。【不可讀;不存在則建立;存在則刪除內容;】
- a,追加模式。【可讀; 不存在則建立;存在則只追加內容;】
- r+,可讀寫檔案。【可讀;可寫;可追加】
- w+,寫讀
"U"表示在讀取時,可以將 \r \n \r\n自動轉換成 \n (與 r 或 r+ 模式同使用)
"b"表示處理二進位檔案(如:FTP發送上傳ISO鏡像檔案,linux可忽略,windows處理二進位檔案時需標註)
關閉檔案
檔案控制代碼.close()
操作檔案:
detach
#佔位
fileno(返迴文件描述符,用於底層作業系統的 I/O 操作)
fid = 檔案控制代碼.fileno()print(fid)
flush(重新整理緩衝區,將緩衝區中的資料立刻寫入檔案)
檔案控制代碼.flush()
isatty(判斷檔案是否串連到一個終端裝置,返回布爾值)
檔案控制代碼.isatty()
read(從檔案中讀取指定的字元數,預設讀取全部)
str = 檔案控制代碼.read() #讀取整個檔案str1 = 檔案控制代碼.read(10) #讀取檔案前10個字元
readable(判斷檔案是否可讀,返回布爾值)
檔案控制代碼.readable()
readline(每次最多讀取一行資料,每行的最後包含分行符號'\n')
print(檔案控制代碼.readline()) #讀取第一行資料print(檔案控制代碼.readline(3)) #讀取第二行前3個字元print(檔案控制代碼.readline()) #讀取第二行剩餘字元print(檔案控制代碼.readline()) #讀取第三行
seek(移動檔案讀取的指標,如果檔案中包含中文,移動指標必須是3的倍數,不然會報錯,因為一個中文字元等於3個位元組)
檔案控制代碼.seek(6)
seekable(判斷檔案指標是否可用,返回布爾值)
檔案控制代碼.seekable()
tell(擷取指標位置)
檔案控制代碼.tell()
truncate(截斷,把指標後面的內容刪除,並寫入檔案,要在可寫入模式下操作)
f = open('text.txt','r+',encoding='utf-8')f.seek(9) #把指標移動到第9個位元組後面(即第3個中文後面)f.truncate() #把第3個中文後面的字元刪除,並寫入檔案f.close()
writable(判斷檔案是否可寫,返回布爾值)
檔案控制代碼.writable()
write(把字串寫入檔案,並返回字元數)
檔案控制代碼.write('字串')