1.open
使用open開啟檔案後一定要記得呼叫檔案物件的close()方法。例如可以用try/finally語句來確保最後能關閉檔案。
file_object = open('thefile.txt')
try:
all_the_text = file_object.read( )
finally:
file_object.close( )
## file_object.close( )
讀取文字檔案
input = open('data', 'r')
#第二個參數預設為r
input = open('data')
讀取二進位檔案
讀取所有內容
file_object = open( 'thefile.txt')
try:
all_the_text = file_object.read( )
finally:
讀固定字節
file_object = open ('abinfile', 'rb')
try:
while True:
chunk = file_object.read(100)
do_something_with(chunk)
finally:
file_object.close( )
list_of_all_the_lines = file_object.readlines( )
如果檔案是文字文件,可以直接遍歷檔案以取得每行:
process line
output = open('data', ' w')
output = open('data', 'wb')
output = open('data', 'w+' )
file_object = open('thefile.txt', 'w')
file_object.write(all_the_text)
file_object.close( )
buffering如果為0表示不進行緩衝;如果為1表示進行「行緩衝「;如果是一個大於1的數表示緩衝區的大小,應該是以位元組為單位的。
file物件有自己的屬性和方法。先來看看file的屬性。
•closed #標記檔案是否已關閉,由close()改寫
•encoding #檔案編碼
•mode #開啟模式
•name #檔案名稱
•newlines #文件中所使用的換行模式,是一個tuple
•softspace #boolean型,一般為0,據說用於print
file的讀寫方法:
•F.read ([size]) #size為讀取的長度,以byte為單位
•F.readline([size])
#讀一行,如果定義了size,有可能回傳的只是一行的一部分
•F.readlines([size])
#把檔案每一行當作一個list的一個成員,並且回傳這個list。其實它的內部是透過循環呼叫readline()來實現的。如果提供size參數,size是表示讀取內容的總長,也就是說可能只讀到文件的一部分。
•F.write(str)
#把str寫到檔案中,write()不會在str後面加上一個換行符號
•F. writelines(seq)
#把seq的內容全部寫到檔案中。這個函數也只是忠實地寫入,不會在每行後面加上任何東西。
file的其他方法:
•F.close()
#關閉檔案。 python會在一個文件不用後自動關閉文件,不過這項功能沒有保證,最好還是養成自己關閉的習慣。如果一個檔案在關閉後還對其進行操作會產生ValueError
•F.flush()
#把緩衝區的內容寫入硬碟
•F. fileno()
#傳回一個長整型的」檔案標籤「
•F.isatty()
#檔案是否是終端設備檔案(unix系統中的)
•F.tell()
#傳回檔案操作標記的目前位置,以檔案的開頭為原點
•F.next()
#返回下一行,並將檔案操作標記位移到下一行。把一個file用於for ... in file這樣的語句時,就是呼叫next()函數來實現遍歷的。
•F.seek(offset[,whence])
#將檔案打操作標記移到offset的位置。這個offset一般是相對於文件的開頭來計算的,一般為正數。但如果提供了whence參數就不一定了,whence可以為0表示從頭開始計算,1表示以目前位置為原點計算。 2表示以文件末端為原點進行計算。需要注意,如果文件以a或a+的模式打開,每次進行寫入操作時,文件操作標記會自動返回文件末尾。
•F.truncate([size])
#把檔案裁成規定的大小,預設的是裁切到目前檔案操作標記的位置。如果size比文件的大小還要大,依據系統的不同可能是不改變文件,也可能是用0把文件補到對應的大小,也可能是以一些隨機的內容加上去。
以上這篇Python 讀寫文件和file物件的方法(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持PHP中文網。
更多Python 讀寫檔案和file物件的方法相關文章請關注PHP中文網!