python open() 方法用於開啟乙個檔案,並返回檔案物件,在對檔案進行處理過程都需要使用到這個函式,如果該檔案無法被開啟,會丟擲 oserror。
使用 open() 方法一定要保證關閉檔案物件,即呼叫 close() 方法。
open() 函式常用形式是接收兩個引數:檔名(file)和模式(mode)
完整的語法格式為:
open(file,mode='r',buffering=-1,encoding=none,errors=none,newline=none,closefd=true,opener=none)
1.引數說明
2.mode全部引數
t文字模式 (預設)。
x寫模式,新建乙個檔案,如果該檔案已存在則會報錯。
b二進位制模式。
+開啟乙個檔案進行更新(可讀可寫)。
u通用換行模式(不推薦)。
r以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。
rbr+
開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。
rb+w
開啟乙個檔案只用於寫入。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。
wbw+
開啟乙個檔案用於讀寫。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。
wb+a
開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
ab以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
a+開啟乙個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。
ab+以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。
注:預設為文字模式,如果要以二進位制模式開啟,加上 b 。
3.file物件
file 物件使用 open 函式來建立,下列是file常用的一些函式
1file.close()
關閉檔案。關閉後檔案不能再進行讀寫操作。
2file.flush()
重新整理檔案內部緩衝,直接把內部緩衝區的資料立刻寫入檔案, 而不是被動的等待輸出緩衝區寫入。
3file.fileno()
返回乙個整型的檔案描述符(file descriptor fd 整型), 可以用在如os模組的read方法等一些底層操作上。
4file.isatty()
如果檔案連線到乙個終端裝置返回 true,否則返回 false。
5file.next()
返回檔案下一行。
6file.read([size])
從檔案讀取指定的位元組數,如果未給定或為負則讀取所有。
7file.readline([size])
讀取整行,包括 "\n" 字元。
8file.readlines([sizeint])
讀取所有行並返回列表,若給定sizeint>0,則是設定一次讀多少位元組,這是為了減輕讀取壓力。
9file.seek(offset[, whence])
設定檔案當前位置
10file.tell()
返回檔案當前位置。
11file.truncate([size])
擷取檔案,擷取的位元組通過size指定,預設為當前檔案位置。
12file.write(str)
將字串寫入檔案,返回的是寫入的字元長度。
13file.writelines(sequence)
向檔案寫入乙個序列字串列表,如果需要換行則要自己加入每行的換行符。
File類的用法
使用file類建立乙個檔案的放法 1.file file1 new file string lujingming 2.file file2 new file string parentpath,string childpath 3.file file3 new file file1,lujingmi...
pytho中with語句的用法
python中的with語句使用於對資源進行訪問的場合,在程式處理過程中是否異常都會執行 enter self 方法,exit 清理 方法操作,釋放被訪問的資源,比如有檔案讀寫後自動關閉 執行緒中鎖的自動獲取和釋放都可以使用。用open開啟乙個檔案進行讀寫時,都有可能產生ioerror。而且檔案每次...
python之函式用法file
coding utf 8 python 27 xiaodeng python之函式用法file file 說明 file 內建函式它的功能等於open 但是可以看出,他是個檔案工廠 生成檔案物件 dict 生成字典物件 包含與被包含的關係 file file name mode buffering ...