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.writelines(seq)
    返回:返回當前指針所在的位置
    seq爲即將寫入的序列,自動將字符串拼接並從當前位置寫入

文件對象位置

  • 函數: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基礎【文件】

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章