open() 方法
python open() 方法用於開啟乙個檔案,並返回檔案物件,在對檔案進行處理過程都需要使用到這個函式,如果該檔案無法被開啟,會丟擲 oserror。
注意:使用 open() 方法一定要保證關閉檔案物件,即呼叫 close() 方法。
open() 函式常用形式是接收兩個引數:檔名(file)和模式(mode),如下:
open(file, mode='r')
完整語法格式如下:
open(file, mode='r', buffering=-1, encoding=none, errors=none, newline=none, closefd=true, opener=none)
其中引數說明:
1.file: 必需,檔案路徑(相對或者絕對路徑)。
2.mode: 可選,檔案開啟模式
3.buffering: 設定緩衝
4.encoding: 一般使用utf8
5.errors: 指明編碼和解碼錯誤時怎麼樣處理,適用於文字模式。
6.newline: 文字模式之下,控制一行的結束字元。
7.closefd: 傳入的file引數型別
8.opener:自定義開啟檔案方式(使用預設none)
檔案開啟模式mode引數有:
模式描述
t文字模式 (預設)。
x寫模式,新建乙個檔案,如果該檔案已存在則會報錯。
b二進位制模式。
+開啟乙個檔案進行更新(可讀可寫)。
r以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。
rbr+
開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。
rb+w
開啟乙個檔案只用於寫入。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。
wbw+
開啟乙個檔案用於讀寫。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。
wb+a
開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
ab以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
a+開啟乙個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。
ab+以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。
file物件
file 物件使用 open 函式來建立,下表列出了 file 物件常用的函式:
方法描述
file.close()
關閉檔案。關閉後檔案不能再進行讀寫操作
file.flush()
重新整理檔案內部緩衝,直接把內部緩衝區的資料立刻寫入檔案, 而不是被動的等待輸出緩衝區寫入
file.fileno()
返回乙個整型的檔案描述符(file descriptor fd 整型), 可以用在如os模組的read方法等一些底層操作上
file.isatty()
如果檔案連線到乙個終端裝置返回 true,否則返回 false
file.read([size])
從檔案讀取指定的位元組數,如果未給定或為負則讀取所有
file.readline([size])
讀取整行,包括 「\n」 字元
file.readlines([sizeint])
讀取所有行並返回列表,若給定sizeint>0,返回總和大約為sizeint位元組的行, 實際讀取值可能比 sizeint 較大, 因為需要填充緩衝區
file.seek(offset[, whence])
移動檔案讀取指標到指定位置
file.tell()
返回檔案當前位置
file.truncate([size])
從檔案的首行首字元開始截斷,截斷檔案為 size 個字元,無 size 表示從當前位置截斷;截斷之後後面的所有字元被刪除,其中 widnows 系統下的換行代表2個字元大小
file.write(str)
將字串寫入檔案,返回的是寫入的字元長度
file.writelines(sequence)
向檔案寫入乙個序列字串列表,如果需要換行則要自己加入每行的換行符
os 模組提供了非常豐富的方法用來處理檔案和目錄。常用的方法如下表所示:
方法描述
os.access(path, mode)
檢驗許可權模式
os.chflags(path, flags)
設定路徑的標記為數字標記
os.chmod(path, mode)
更改許可權
os.chown(path, uid, gid)
更改檔案所有者
os.close(fd)
關閉檔案描述符 fd
os.closerange(fd_low, fd_high)
關閉所有檔案描述符,從 fd_low (包含) 到 fd_high (不包含), 錯誤會忽略
os.dup(fd)
複製檔案描述符 fd
os.dup2(fd, fd2)
將乙個檔案描述符 fd 複製到另乙個 fd2
os.fdopen(fd[, mode[, bufsize]])
通過檔案描述符 fd 建立乙個檔案物件,並返回這個檔案物件
python學習筆記07 檔案
現在開始學習檔案了,其實前面的學習中還有不少遺漏的地方,以後我會繼續改進,加油 1.3逐行讀取 1.4建立乙個包含檔案各行內容的列表 1.5使用檔案內容 2.寫入檔案 with open hello.txt as file object text file object.read print tex...
Python Task 07 檔案與檔案系統
python task 07 檔案與檔案系統 1.open 方法 描述os.getcwd 返回當前工作目錄 os.chdir path 改變當前工作目錄到指定的路徑 os.listdir path 返回path指定的資料夾包含的檔案或資料夾的名字的列表 os.mkdir path 建立單層目錄,如果...
python基礎(13) 檔案
檔案的基本方法 可使用函式open,它位於自動匯入的模組io中。1.open函式將檔名作為唯一必不可少的引數,返回乙個可讀取的檔案物件 open a.py a.py mode r encoding cp936 2.如果要寫入檔案,必須通過指定模式來顯式地指出這一點 3.若不存在該檔案,則會產生如下錯...