1.打開文件
my_file = open('my_file.txt')
| 該open()函數最重要的可選參數之一是mode. 此參數規定我們希望如何打開文件以及打開文件的目的。以下選項可用: |
'r' | 開放閱讀。如果文件不存在,則會發生錯誤。 |
---|---|
'w' | 打開寫入和截斷。如果文件已經存在,它將被覆蓋。 |
'a' | 開放寫作。如果文件已存在,則追加到文件末尾。 |
'b' | 以二進制模式打開。 |
'+' | 開放更新(讀取和寫入)。 |
't' | 作為文本打開 |
關於模式,有幾件事需要說一下。
首先,在默認情況下,文件被打開閱讀的文本,這樣的默認值mode是'r',或者更准確地說,'rt'。
其次,正如你所看到的,我們可以組合模式來做我們需要的。例如,如果我們想打開一個現有文件並能夠讀取和更新它,我們應該將模式設置為'r+'.
第三,我們可以選擇要打開文件的格式。主要的選項是文本或二進制,'t'和'b'分別。這對應於str和bytes對象之間的差異。所以,如果你想打開一個文件以二進制寫入,模式應該是'wb'. 請注意,由於文本格式是默認格式,因此大部分時間't'都被省略了。
某些模式不能相互結合:因此,只有一個選項'w','r'以及'a'必須指定,我們不能打開一個文件'ar'模式。同樣,我們必須選擇'b'或't',文件不能同時以文本和二進制模式打開。
最后,我們應該提到 options'w'和'a'. 這兩種模式都用於寫入文件。唯一的區別是'w'在寫入文件之前截斷文件。換句話說,如果文件已經存在,則刪除其內容。該'a'行為有所不同:如果該文件存在,任何我們寫它會被簡單地添加到文件的末尾。
encoding參數指定應該用於解碼或編碼文本文件的編碼。當我們以文本形式打開文件時需要它,默認值取決於平台。以下是打開文件以使用不同編碼讀取的一些示例:
# UTF-8
file_utf8 = open('my_file.txt', encoding='utf-8')
# UTF-16
file_utf16 = open('my_file.txt', encoding='utf-16')
# CP1252
file_cp1252 = open('my_file.txt', encoding='cp1252')
2.關閉文件
為了保證數據的安全,我們必須確保文件最后是關閉的,一般使用close()方法
3.批量創建文件
# 在path路徑下新建10個txt文件,名稱為"新建1.txt"等
# 文件的內容都是content
for i in range(10):
path = "D://workspace/py_projects/"
content = "aaabbbcccdddeeefff"
f = open(path + "新建" + str(i) + ".txt", "w")
f.write(content)
f.close()