Python 操作檔案

2021-10-17 09:05:09 字數 3005 閱讀 5411

今天,我們來學習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 檔名,可...