open()函數(shù)打開(kāi)文件并返回相應(yīng)的文件對(duì)象。
open()的語(yǔ)法為:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
file -類似路徑的對(duì)象(表示文件系統(tǒng)路徑)
mode(可選)-打開(kāi)文件時(shí)的模式。如果未提供,則默認(rèn)為'r'(打開(kāi)以文本模式閱讀)??捎玫奈募J綖椋?
模式 | 描述 |
---|---|
'r' | 打開(kāi)文件進(jìn)行讀取。(默認(rèn)) |
'w' | 打開(kāi)文件進(jìn)行寫(xiě)入。如果不存在則創(chuàng)建一個(gè)新文件,或者如果存在則將其截?cái)唷?/td> |
'x' | 打開(kāi)文件以進(jìn)行獨(dú)占創(chuàng)建。如果文件已經(jīng)存在,則操作失敗。 |
'a' | 打開(kāi)以在文件末尾追加而不截?cái)?。如果不存在,則創(chuàng)建一個(gè)新文件。 |
't' | 以文本模式打開(kāi)。(默認(rèn)) |
'b' | 以二進(jìn)制模式打開(kāi)。 |
'+' | 打開(kāi)文件進(jìn)行更新(讀取和寫(xiě)入) |
buffering (可選)-用于設(shè)置緩沖策略
encoding (可選)-編碼格式
errors (可選)-字符串,指定如何處理編碼/解碼錯(cuò)誤
newline(可選) -如何換行模式下工作(可用值:None,' ','\n','r',和'\r\n')
closefd(可選)-必須為T(mén)rue(默認(rèn));如果另有指定,將引發(fā)例外情況
opener(可選)-自定義開(kāi)啟器;必須返回一個(gè)打開(kāi)的文件描述符
open()函數(shù)返回一個(gè)文件對(duì)象,該對(duì)象可用于讀取,寫(xiě)入和修改文件。
如果找不到該文件,它將引發(fā)FileNotFoundError異常。
# 打開(kāi)當(dāng)前目錄的test.text文件 f = open("test.txt") # 指定完整路徑 f = open("C:/Python33/README.txt")
由于省略了模式,因此文件將以'r'模式打開(kāi)。打開(kāi)閱讀。
# 以讀取模式打開(kāi)文件 f = open("path_to_file", mode='r') # 以寫(xiě)入模式打開(kāi)文件 f = open("path_to_file", mode = 'w') # 以追加模式打開(kāi)文件 f = open("path_to_file", mode = 'a')
Python的默認(rèn)編碼為ASCII。您可以通過(guò)傳遞encoding參數(shù)輕松更改它。
f = open("path_to_file", mode = 'r', encoding='utf-8')
推薦讀物: Python文件輸入/輸出