欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python文件操作基礎(chǔ)及異常處理

 更新時間:2025年03月01日 09:58:14   作者:咱家阿星  
這篇文章主要介紹了文件操作的基本方法,包括如何打開和關(guān)閉文件、使用with語句管理文件、讀取和寫入文件內(nèi)容、處理文件異常、進行二進制文件操作以及文件路徑的說明,,需要的朋友可以參考下

在這篇將詳細介紹如何打開文件、讀寫文件,以及如何處理文件操作中的異常。

1. 打開文件:open()

open() 函數(shù)用于打開文件,并返回一個文件對象,你可以通過這個對象操作文件內(nèi)容。打開文件時,需要指定文件路徑和操作模式。

語法:

file_object = open(file_path, mode)

常見操作模式:

模式描述
'r'讀取文件(默認模式),文件必須存在。
'w'寫入文件,如果文件存在則清空內(nèi)容;如果文件不存在則創(chuàng)建。
'a'追加模式,將新內(nèi)容添加到文件末尾。
'b'二進制模式,用于操作非文本文件(如圖片、音頻)。
'rb'以二進制模式讀取文件。
'wb'以二進制模式寫入文件。

示例:打開文件用于讀?。?/h3>
file = open('example.txt', 'r')  # 打開文件用于讀取
print(file.read())               # 打印文件內(nèi)容
file.close()                     # 關(guān)閉文件

注意:如果忘記關(guān)閉文件,可能會占用系統(tǒng)資源或?qū)е聰?shù)據(jù)未及時寫入磁盤。

2. 使用 with 語句自動管理文件

使用 with 語句打開文件時,Python 會在代碼塊結(jié)束后自動關(guān)閉文件,避免忘記調(diào)用 close()。

讀取文件內(nèi)容:

with open('example.txt', 'r') as file:
    content = file.read()  # 讀取整個文件內(nèi)容
    print(content)  # 打印文件內(nèi)容

寫入文件內(nèi)容:

with open('example.txt', 'w') as file:
    file.write('Hello, Python!\n')  # 寫入一行文本

追加內(nèi)容:

with open('example.txt', 'a') as file:
    file.write('This is a new line.\n')  # 在文件末尾追加一行

3. 讀取文件的不同方式

Python 提供了多種讀取文件內(nèi)容的方式,適用于不同的場景。

方法描述示例
read()讀取整個文件內(nèi)容為字符串content = file.read()
readline()讀取文件的一行內(nèi)容line = file.readline()
readlines()讀取所有行并返回列表lines = file.readlines()

示例:逐行讀取文件:

示例1

with open('example.txt', 'r') as file:
    for line in file:
        print(line.strip())  # 去除換行符并打印每一行

示例2

with open('example.txt', 'r') as file:
    while True:
        line = file.readline()  # 讀取一行
        if not line:  # 如果是空字符串,說明文件結(jié)束
            break
        print(line.strip())  # 打印當前行內(nèi)容

小提示: 如果是在某系統(tǒng)使用 ~/xxx.txt情況 , ~ 符號(代表用戶的主目錄)通常不會直接在文件路徑中被識別, 通過下面的方案改進

import os
path = os.path.expanduser("~/xxx.txt")
with open(path, 'r') as file:
    ......

4. 文件異常處理

文件操作中可能會遇到錯誤,例如文件不存在或沒有權(quán)限。我們可以使用 try-except 語句來捕獲這些異常,避免程序崩潰。

常見異常:

  • FileNotFoundError:文件不存在。
  • PermissionError:沒有權(quán)限訪問文件。

示例:捕獲文件異常:

try:
    with open('nonexistent.txt', 'r') as file:
        content = file.read()
        print(content)
except FileNotFoundError:
    print("錯誤:文件不存在。請檢查路徑。")
except PermissionError:
    print("錯誤:沒有權(quán)限讀取該文件。")
except Exception as e:
    print(f"發(fā)生了其他錯誤:{e}")

5. 二進制文件操作

對于非文本文件(如圖片或音頻),需要以二進制模式讀取和寫入。

示例:讀取二進制文件:

with open('image.jpg', 'rb') as file:
    data = file.read()
    print(data[:10])  # 打印前10個字節(jié)的數(shù)據(jù)

示例:寫入二進制文件:

with open('copy.jpg', 'wb') as file:
    with open('image.jpg', 'rb') as src:
        file.write(src.read())  # 復制圖片

6. 文件路徑說明

在 open() 中,文件路徑可以是絕對路徑相對路徑

  • 絕對路徑:從根目錄開始的完整路徑。
    示例:open('/Users/user/documents/file.txt', 'r')

  • 相對路徑:相對于當前工作目錄的路徑。
    示例:open('file.txt', 'r')

如果路徑中有中文或空格,可以使用原始字符串r'')避免轉(zhuǎn)義錯誤:

with open(r'C:\用戶\文檔\文件.txt', 'r') as file:
    print(file.read())

7. 總結(jié)

常見的文件操作步驟:

  • 使用 open() 或 with 語句打開文件。
  • 選擇合適的讀取或?qū)懭肽J剑?code>'r'、'w'、'a' 等)。
  • 使用 read()write()、readlines() 等方法進行操作。
  • 如果使用 open(),操作完成后要調(diào)用 close() 關(guān)閉文件。
  • 使用 try-except 捕獲文件操作中的異常。

完整代碼示例:

try:
    with open('example.txt', 'r') as file:
        print("文件內(nèi)容:")
        print(file.read())
except FileNotFoundError:
    print("文件不存在,請檢查路徑。")
except PermissionError:
    print("沒有權(quán)限訪問該文件。")
except Exception as e:
    print(f"發(fā)生了未知錯誤:{e}")

8. 小貼士

  • 文件操作要小心:寫入模式 'w' 會清空文件內(nèi)容,請確認無誤后再使用。
  • 處理換行符:讀取文本時,可以使用 strip() 去除多余的換行符。
  • 二進制操作:當處理圖片、音頻等非文本文件時,記得使用 'rb' 或 'wb'。

到此這篇關(guān)于Python文件操作基礎(chǔ)及異常處理的文章就介紹到這了,更多相關(guān)Python文件操作基礎(chǔ)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python實現(xiàn)帶錯誤處理功能的遠程文件讀取方法

    python實現(xiàn)帶錯誤處理功能的遠程文件讀取方法

    這篇文章主要介紹了python實現(xiàn)帶錯誤處理功能的遠程文件讀取方法,涉及Python使用socket操作遠程文件的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • 詳解pandas中iloc, loc和ix的區(qū)別和聯(lián)系

    詳解pandas中iloc, loc和ix的區(qū)別和聯(lián)系

    這篇文章主要介紹了詳解pandas中iloc, loc和ix的區(qū)別和聯(lián)系,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • python判斷列表的連續(xù)數(shù)字范圍并分塊的方法

    python判斷列表的連續(xù)數(shù)字范圍并分塊的方法

    今天小編就為大家分享一篇python判斷列表的連續(xù)數(shù)字范圍并分塊的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • 三步實現(xiàn)Django Paginator分頁的方法

    三步實現(xiàn)Django Paginator分頁的方法

    這篇文章主要介紹了三步實現(xiàn)Django Paginator分頁的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • python 創(chuàng)建一維的0向量實例

    python 創(chuàng)建一維的0向量實例

    今天小編就為大家分享一篇python 創(chuàng)建一維的0向量實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 基于Python和openCV實現(xiàn)圖像的全景拼接詳細步驟

    基于Python和openCV實現(xiàn)圖像的全景拼接詳細步驟

    這篇文章主要介紹了基于Python和openCV實現(xiàn)圖像的全景拼接,本文分步驟通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2021-10-10
  • pytorch報錯問題:ValueError: num_samples should be a positive integer value, but got num_samples=0

    pytorch報錯問題:ValueError: num_samples should be

    這篇文章主要介紹了pytorch報錯問題:ValueError: num_samples should be a positive integer value, but got num_samples=0的解決方案,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python錯誤處理操作示例

    Python錯誤處理操作示例

    這篇文章主要介紹了Python錯誤處理操作,結(jié)合實例形式分析了Python使用try...except...finaly語句進行錯誤處理的相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2018-07-07
  • Python中unittest模塊做UT(單元測試)使用實例

    Python中unittest模塊做UT(單元測試)使用實例

    這篇文章主要介紹了Python中unittest模塊做UT(單元測試)使用實例,本文直接給出待測試的類、測試類和測試結(jié)果以及測試總結(jié),需要的朋友可以參考下
    2015-06-06
  • Python tkinter模版代碼實例

    Python tkinter模版代碼實例

    這篇文章主要介紹了Python tkinter模版代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02

最新評論