1. 程式人生 > >Python基礎【檔案】

Python基礎【檔案】

檔案

檔案的開啟

函式:open(filename,mode)
返回:一個檔案物件
filename為檔名,mode為開啟的模式

程式碼:

file = open('filename','r')
print(file)

測試結果:

Python基礎【檔案】


  • 模式:
  • r:只讀模式開啟,檔案指標放在開頭
  • w:寫模式,預設從檔案開頭開始覆寫(會刪除已有內容)
  • a:追加(寫),預設從檔案尾部開始寫
  • b:以二進位制形式開啟
  • +:可讀可寫
  • x:建立並進入寫模式,檔案存在則報錯
  • t:文字模式
    注:b\t+需和其他模式組合使用,w和a如果不存在目標檔案則會建立新檔案,r模式不存在則會報錯。

程式碼:

file = open('test_file','r') #test_file不存在,報錯

測試結果:

Python基礎【檔案】


檔案物件的方法

上面我們建立了一個名為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())

    測試結果:

    Python基礎【檔案】