Python學習筆記7 檔案與檔案系統

2021-09-29 02:51:58 字數 2721 閱讀 3495

使用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...