Python基礎【檔案】
阿新 • • 發佈:2018-12-18
檔案
檔案的開啟
函式:open(filename,mode)
返回:一個檔案物件
filename為檔名,mode為開啟的模式程式碼:
file = open('filename','r')
print(file)測試結果:
- 模式:
- r:只讀模式開啟,檔案指標放在開頭
- w:寫模式,預設從檔案開頭開始覆寫(會刪除已有內容)
- a:追加(寫),預設從檔案尾部開始寫
- b:以二進位制形式開啟
- +:可讀可寫
- x:建立並進入寫模式,檔案存在則報錯
- t:文字模式
注:b\t+需和其他模式組合使用,w和a如果不存在目標檔案則會建立新檔案,r模式不存在則會報錯。程式碼:
file = open('test_file','r') #test_file不存在,報錯
測試結果:
檔案物件的方法
上面我們建立了一個名為file的檔案物件,下面介紹檔案物件的方法:
讀操作
- 函式:file.read(size)
返回:從當前指標位置開始讀取,以 字串 或 位元組 物件形式返回讀取到的資料
size為數值型別的引數,決定讀取資料的長度,省略或小於0則讀取檔案的所有內容- 函式:file.readline(limit)
返回:從當前指標位置開始讀取一行,以 字串 或 位元組 物件形式返回該行資料,返回空說明已經讀到了檔案的最後一行
limit為數值型別的引數,可以限制單行讀取的資料長度函式:file.readlines(sizeint)
返回:從當前指標位置開始讀取,以列表形式,返回檔案的所有行(以行為界分割的字串所組成)
sizeint為數值型別的引數,決定讀取資料的長度寫操作
- 函式:file.write(string)
返回:返回當前指標所在的位置
string為寫入檔案的字串- 函式:file.writeline
檔案物件位置
函式:f.tell()
返回:檔案物件當前所處的位置, 它是從檔案開頭開始算起的位元組數。調整檔案物件位置
函式:f.seek(offset, from_what)
返回:返回更改後的所處位置
offset為移動的相對位置,2表示後移2個,-1表示前移1個
from_what為參考點,0為檔案開頭,1為當前位置,2為檔案末尾
注:文字檔案中沒有用二進位制開啟的檔案必須從開頭計算位置,即from_what為0,否則會報錯。關閉檔案
- 函式:file.close()
當你處理完一個檔案後, 呼叫 f.close() 來關閉檔案並釋放系統的資源
如果嘗試再呼叫該檔案,則會丟擲異常。程式碼:
file = open('test_file','w+')
file.write("hello python\nhello world\nhello westos\n*****")
file.close()
file = open('test_file','r')
print(file.read())
file.seek(0,0)
print(file.readable())
print(file.readline())
print(file.tell())測試結果: