python 檔案的開啟方式及一般操作方法

2021-10-05 07:41:40 字數 2104 閱讀 2237

開啟模式

執行操作

『r』以唯讀方式開啟檔案(預設)

『w』寫入的方式開啟,會覆蓋已存在的檔案

『x』如果檔案已經存在,使用此模式開啟將引發異常

『a』以寫入模式開啟,如果檔案存在,則在末尾追加寫入

『b』二進位制模式

『t』以文字模式開啟(預設)

『+』可讀寫模式(可新增到其他模式中使用)

『u』通用換行符支援

檔案物件方法

執行操作

f.close()

關閉檔案

f.read([size=-1])

從檔案讀取size個字元,當未給定size或給定負值的時候,讀取剩餘的所有字元,然後作為字串返回

f.readline([size=-1])

從檔案中讀取並返回一行(包括行結束符),如果有size有定義則返回size個字元

f.write(str)

將字串str寫入檔案

f.writelines(seq)

向檔案寫入字串序列seq,seq應該是乙個返回字串的可迭代物件

f.seek(offset, from)

移動游標,至from(0:檔案首,1:當前,2:檔案尾)offset:偏移(以位元組計算)

f.tell()

返回游標當前位置

f.truncate([size=file.tell()])

擷取檔案到size個位元組,預設是擷取到檔案指標當前位置

舉例:

f =

open

(檔名路徑,開啟方式,encoding =

'utf-8'

)#修改檔案編碼方式為utf-8.

f =open

(add1, encoding=

'utf-8'

)f.close(

)#關閉檔案

等效於

with

open

(add1, encoding=

'utf-8'

)as f:

# 對檔案執行操作

for each in f:

# 遍歷檔案每一行

print

('each'

)#此處跳出了with,對檔案的操作結束,檔案自動關閉

但是用第二種更好,語法更加清晰.

第一種搞不好什麼時候就給你把檔案自動關閉咯

檔案內容的檢視是以游標位置進行的,所以有對於游標的指令

for each in f:

print

(each)

#按行輸出,文字檔案一次取一行

f.read(size ==-1

)#從檔案讀取size個字元,無size貨或給定負值時讀取剩餘所有字元(像個書籤)

f.tell(

)#返回當前(書籤)在檔案中的位置(位置按位元組計算)

f.readline(

[size =-1

])#從檔案讀取一行,如果有引數size,則從檔案讀取游標後size個位元組

f.write(

str)

#將字串寫入f檔案

f.writelines(seq)

#向檔案寫入字串序列seq

import pickle

my_list =

[123

,3.14

,'小甲魚',[

'another list']]

# 寫入.dump()

pickle_file =

open

('my_list.pkl'

,'wb'

)# wb:二進位制寫入

pickle.dump(my_list,pickle_file)

# 將my_list列表以二進位制方式放入pickle_file檔案

# 讀取.load()

pickle_file =

open

('my_list.pkl'

,'rb'

)# 二進位制唯讀開啟

my_list2 = pickle.load(pickle_file)

# 將檔案內容載入到列表

python檔案開啟方式

r 唯讀 r 讀寫 兩種只能找檔案不能建立檔案 file line open users r content file line,read print content w 唯讀 w 讀寫 沒有該檔案可以建立檔案 str python file line open users w file line....

python開啟檔案方式

模式描述r 以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。rb以二進位制格式開啟乙個檔案用於唯讀。檔案指標將會放在檔案的開頭。這是預設模式。r 開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。rb 以二進位制格式開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。w開啟乙個檔案只用...

Python檔案開啟的幾種方式

python 全棧工程師核心面試 300 問深入解析 2020 版 全文預覽 python 全棧工程師核心面試 300 問深入解析 2020 版 歡迎訂閱 訪問模式 說明 r 以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。w 開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果...