使用python內建的open()函式開啟檔案
open(file, mode='r', buffering=-1, encoding=none, errors=none, newline=none, closefd=true, opener=none)
引數
解釋file
必需,檔案路徑(相對或者絕對路徑)。
mode
可選,檔案開啟模式
buffering
設定緩衝
encoding
一般使用utf8
errors
報錯級別
newline
區分換行符
closefd
傳入的file引數型別
opener
可以通過呼叫opener方式,使用自定義的開啟器。底層檔案描述符是通過呼叫opener或者file, flags獲得的。opener必須返回乙個開啟的檔案描述。將os.open作為opener的結果,在功能上,類似於通過none。
檔案開啟模式
引數解釋
『r』以唯讀方式開啟檔案(預設)
『w』以寫入的方式開啟檔案,會覆蓋已存在的檔案
『x』如果檔案已經存在,使用此模式開啟將引發異常
『a』以寫入模式開啟,如果檔案存在,則在末尾追加寫入
『b』以二進位制模式開啟檔案
『t』以文字模式開啟(預設)
『+』可讀寫模式(可新增到其他模式中使用)
『u』通用換行符支援
檔案物件方法:
方法解釋
f.close()
關閉檔案
f.read([size=-1])
從檔案讀取size個字元,當未給定size或給定負值的時候,讀取剩餘的所有字元,然後作為字串返回
f.readline([size=-1])
從檔案中讀取並返回一行(包括行結束符),如果有size有定義則返回size個字元
f.write(str)
將字串str寫入檔案
f.writelines(seq)
向檔案寫入字串序列seq,seq應該是乙個返回字串的可迭代物件
f.seek(offset, from)
在檔案中移動檔案指標,從from(0代表檔案起始位置,1代表當前位置,2代表檔案末尾)偏移offset個位元組
f.tell()
返回當前在檔案中的位置
f.truncate([size=file.tell()])
擷取檔案到size個位元組,預設是擷取到檔案指標當前位置
>>
> r =
open
(r"c:\users\enjoy\desktop\test.txt"
,encoding=
'utf-8'
,errors=
'ignore'
)>>
> r.read(
)'你好\npython\n你好啊!\nsee you!'
>>
> r =
open
(r"c:\users\enjoy\desktop\test.txt"
,encoding=
'utf-8'
,errors=
'ignore'
,mode=
'a+'
)>>
> r.read()''
>>
> r.close(
)>>
> r =
open
(r"c:\users\enjoy\desktop\test.txt"
,encoding=
'gbk'
,errors=
'ignore'
,mode=
'a+'
)>>
> r.write(
"\n66666")6
>>
> r =
open
(r"c:\users\enjoy\desktop\test.txt"
,encoding=
'utf-8'
,errors=
'ignore'
,mode=
'r')
>>
> r.read(
)'你好\npython\n你好啊!\nnsee you\n66666'
>>
> f =
open
('/users/michael/test.txt'
,'w'
)>>
> f.write(
'hello, world!'
)>>
> f.close(
)
用write()來寫入檔案務必要呼叫f.close()來關閉檔案。當我們寫檔案時,作業系統往往不會立刻把資料寫入磁碟,而是放到記憶體快取起來,空閒的時候再慢慢寫入。只有呼叫close()方法時,作業系統才保證把沒有寫入的資料全部寫入磁碟。忘記呼叫close()的後果是資料可能只寫了一部分到磁碟,剩下的丟失了。所以,還是用with語句來得保險:
with
open
('/users/michael/test.txt'
,'w'
)as f:
f.write(
'hello, world!'
)
Python學習筆記 6 檔案
要開啟的檔案應該儲存在你執行的python程式同乙個資料夾下。這個檔案儲存在你啟動python時所在的那個資料夾。fhand open mbox.txt print fhand 如果檔案成功被開啟,作業系統會返回乙個檔案控制代碼。如果檔案不存在,開啟失敗,輸出追蹤錯誤資訊。文字檔案可視為若干文字行的...
Python學習筆記9 檔案
在python中,要對乙個檔案進行操作,只需用內建的open函式開啟檔案即可。signature open file,mode r buffering 1,encoding none,errors none,newline none,closefd true,opener none docstrin...
python學習筆記07 檔案
現在開始學習檔案了,其實前面的學習中還有不少遺漏的地方,以後我會繼續改進,加油 1.3逐行讀取 1.4建立乙個包含檔案各行內容的列表 1.5使用檔案內容 2.寫入檔案 with open hello.txt as file object text file object.read print tex...