今天,我們來學習python開啟,修改檔案的方法。
先在專案資料夾下新建兩個檔案:text1.txt和text2.txt,在text2中寫入「i like python.(換行)it is fun.(換行)」
下面我們用這兩個檔案探索操作檔案的方法。
如何在python中開啟乙個檔案物件呢?
with
open
("text1.txt"
,'r'
, encoding=
"utf-8"
)as t_f:
pass
with語句即可,並且把這個物件儲存到了t_f裡。
open有幾個常用的引數,我來介紹一下:
模式是什麼?
就是開啟檔案可以執行哪些操作,如a(追加模式),r(閱讀模式),w(寫入模式),w+(讀寫模式)。
編碼格式可以為utf-8等編碼格式,自己可以衡量一下。當然,我還是建議用utf-8編碼格式,因為它能正確顯示中文。
# 開啟第二個檔案 text2.txt
# 模式為r 編碼為utf-8
with
open
("text2.txt"
,'r'
, encoding=
"utf-8"
)as t_f:
file_content = t_f.read(
)print
(file_content)
應該會輸出text2.txt的檔案內容。
with
open
("text2.txt"
,'r'
, encoding=
"utf-8"
)as t_f:
file_content = t_f.readlines(
)print
(file_content)
readlines方法會把每一行文字內容作為乙個列表項,由它們組成乙個新列表:
[『i like python.\n』,『it is fun.\n』]
也可以使用列表遍歷:
with
open
("text2.txt"
,'r'
, encoding=
"utf-8"
)as t_f:
file_content = t_f.readlines(
)for i in file_content:
print
(i.rstrip(
"\n"
))
為什麼要加rstrip("\n")呢?
因為python讀取檔案時,會把換行的地方用特殊字元\n表示,程式輸出時看到\n就會換行,所以得去掉\n。
# 開啟第二個檔案text2.txt
# 啟用a模式
with
open
("text2.txt"
,'a'
, encoding=
"utf-8"
)as t_f:
t_f.write(
"this is a test.\ni like python very much!\n"
)
執行**之後,開啟text2.txt會發現多了兩行句子。
注意:在使用此模式時,python會把目標檔案清空,然後讓程式輸入新的內容!
# 開啟第乙個檔案text1.txt
# 啟用w模式
with
open
("text1.txt"
,'a'
, encoding=
"utf-8"
)as t_f:
t_f.write(
"this is a test.\ni like python very much!\n"
)
執行之後,開啟text1.txt就會發現多了兩行文字內容。
追加與寫入模式的區別是什麼?
追加是把新的內容加在檔案文字內容後方,而寫入是直接把檔案清空,再寫入新內容。
注意:各個模式各有各的操作範圍,不要在r模式下寫入文字,否則會報錯,以及其它的也一樣。
在這個模式下,你可以讀取或者寫入檔案,在開始時python不會把目標檔案清空,而是呼叫寫入操作時清空寫入新內容。
簡單來說,就是閱讀模式和寫入模式的結合體,我就不再闡述。
json格式是一種特殊的檔案格式,可以在程式之間共享一些資料。它也可以儲存python整數,字串,列表,字典等等資料型別。
建立乙個新程式,輸入以下**:
import json
with
open
("numbers.json"
,'w'
)as num_f:
numbers =[1
,2,3
,4,5
,6,7
] json.dump(numbers, num_f)
執行**之後,你會發現目錄下多了乙個json檔案,開啟它,可以看到之前儲存的numbers列表的內容。
我們也用到了乙個模組json,指定dump函式在num_f物件內寫入numbers列表。
再建立乙個新程式,輸入以下**:
import json
with
open
("numbers.json"
,'r'
)as num_f:
numbers = json.load(num_f)
print
(numbers)
在上述**中,我們使用了json模組的load函式,載入了numbers.json裡面的python資料,並用print列印了出來。
好了,今天的學習就到這兒,感興趣的可以自己試試json模組的其它操作。
Python 操作檔案
字元 含義 r 以唯讀方式開啟 預設 w 以只寫方式開啟,刪除原有檔案內容 如果檔案不存在,則建立該檔案並以只寫方式開啟 x 建立乙個新檔案,並以寫模式開啟這個檔案,如果檔案存在則會產生 fileexistserror 錯誤 a 以只寫檔案開啟乙個檔案,如果有原檔案則追加到檔案末尾 b 用二進位制模...
Python操作檔案
python 的 open 方法用於開啟乙個檔案,該方法返回乙個檔案物件,在對檔案進行處理過程都需要使用到這個函式,如果該檔案無法被開啟,會丟擲 oserror。注意 使用 open 方法後一定要保證關閉檔案物件,即呼叫 close 方法。open 函式常用形式是接收兩個引數 檔案路徑 file 和...
python操作檔案
讀寫檔案前,我們先必須了解一下,在磁碟上讀寫檔案的功能都是由作業系統提供的,現代作業系統不允許普通的程式直接操作磁碟,所以,讀寫檔案就是請求作業系統開啟乙個檔案物件 通常稱為檔案描述符 然後,通過作業系統提供的介面從這個檔案物件中讀取資料 讀檔案 或者把資料寫入這個檔案物件 寫檔案 引數1 檔名,可...