溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python的文件操作方法有哪些

發(fā)布時間:2021-11-26 09:15:31 來源:億速云 閱讀:167 作者:iii 欄目:互聯(lián)網(wǎng)科技

本篇內(nèi)容介紹了“python的文件操作方法有哪些”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

文件的打開與關(guān)閉

  1. 使用try-finally方式

    try:
        f = open('/path/to/file', mode='r')
        print(f.read())
    finally:
        f.close()


  2. 使用with方式,強烈建議使用這種方式!

    with open('/path/to/file', mode='r') as f:
        print(f.read())


補充內(nèi)容:

  • 用with方式可以一條語句同時打開多個文件,具體案例請看“文件的修改”。

  • open()方法常見參數(shù):

    • 第一個參數(shù)是要打開的文件,在當(dāng)前路徑的可以只寫文件名,不在當(dāng)前路徑的要寫完整路徑名文件名。

    • 第二個參數(shù)encoding,指定文件解碼方式,案例請看“文件的修改”。

    • 第三個參數(shù)mode,指定文件的操作模式。

文件的操作模式( mode= * )

讀 模式 (文件不存在會報錯,文件存在會讀取。文件指針在開頭)

  • r ,只讀方式打文本文件。這是默認(rèn)模式。

  • rb,只讀方式打開二進制文件(如圖片、聲音、視頻)。

  • r+,讀寫方式打開文本文件。

  • rb+,讀寫方式打開二進制文件。

寫模式 (文件不存在會創(chuàng)建;文件存在會覆蓋。文件指針在開頭)

  • w,只寫方式打開文本文件。

  • wb,只寫方式打開二進制文件。

  • w+,讀寫方式打開文本文件。

  • wb+,讀寫方式打開二進制文件。

追加模式 (文件不存在會創(chuàng)建;文件存在會追加。文件指針在結(jié)尾)

  • a,只寫方式打文本文件。

  • ab,只寫方式打二進制文件。

  • a+,讀寫方式打文本文件。

  • ab+,讀寫方式打二進制文件。

文件的讀與寫

  • read()方法,讀取二進制文件或文本文件。

    • read(n),參數(shù)n指定讀取多少字節(jié),無參數(shù)則表示讀取全部內(nèi)容。

  • readline()方法,讀取文本文件一行內(nèi)容至換行符止(含換行符)。

  • readlines()方法,讀取文本文件所有內(nèi)容到列表,一行內(nèi)容對應(yīng)一個列表元素(含換行符)。

  • for循環(huán)讀取文本文件。大文件強烈建議使用這種方式!文件句柄也是對象,可以用for循環(huán)逐行讀取,另外可以配合"yield"逐行讀取文件并逐行返回處理。

    with open('a.txt', encoding='utf8') as f:
        for line in f:
    		print(line,end='')


  • write()方法寫入文件內(nèi)容

    • 文本文件寫入使用 f.write( str )

    • 二進制文件寫入使用 f.write( b'bytes')

    • 寫入時是暫存緩沖區(qū),并沒有真正寫入磁盤,只有在文件關(guān)閉時才會寫到磁盤上。另外可以通過f.flush()方法將緩沖區(qū)內(nèi)容立即到磁盤。

文件的指針操作

tell() # 獲取光標(biāo)位置,單位是字節(jié)

seek() # 調(diào)整光標(biāo)位置,單位是字節(jié)

seek(0, 0)  # 移動到文件頭
seek(0, 2)  # 移動到文件尾

文件的修改

  1. 只讀模式打開原文件

  2. 只寫方式創(chuàng)建新文件(通常命名是原文件最后加.bak)

  3. 讀取原文件內(nèi)容到內(nèi)存,將內(nèi)容進行修改后保存到新文件。

  4. 將原文件刪除。

  5. 將新文件重命名為原文件。

    代碼示例如下:

    with open('原文件.txt', encoding='utf8') as f1, \
            open('原文件.txt.bak', encoding='utf8', mode='w') as f2:
        for txt in f1:
            new_content = txt.replace('python', 'PYTHON')
            f2.write(new_content)
    os.remove('原文件.txt')
    os.rename('原文件.txt.bak', '原文件.txt')

“python的文件操作方法有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI