亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

在這篇將詳細(xì)介紹如何打開(kāi)文件、讀寫(xiě)文件,以及如何處理文件操作中的異常。

1. 打開(kāi)文件:open()

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

語(yǔ)法:

file_object = open(file_path, mode)

常見(jiàn)操作模式:

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

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

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

2. 使用 with 語(yǔ)句自動(dòng)管理文件

使用 with 語(yǔ)句打開(kāi)文件時(shí),Python 會(huì)在代碼塊結(jié)束后自動(dòng)關(guān)閉文件,避免忘記調(diào)用 close()。

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

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

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

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

追加內(nèi)容:

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

3. 讀取文件的不同方式

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

方法描述示例
read()讀取整個(gè)文件內(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:  # 如果是空字符串,說(shuō)明文件結(jié)束
            break
        print(line.strip())  # 打印當(dāng)前行內(nèi)容

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

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

4. 文件異常處理

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

常見(jiàn)異常:

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

示例:捕獲文件異常:

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

5. 二進(jìn)制文件操作

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

示例:讀取二進(jìn)制文件:

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

示例:寫(xiě)入二進(jìn)制文件:

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

6. 文件路徑說(shuō)明

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

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

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

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

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

7. 總結(jié)

常見(jiàn)的文件操作步驟:

  • 使用 open() 或 with 語(yǔ)句打開(kāi)文件。
  • 選擇合適的讀取或?qū)懭肽J剑?code>'r'、'w'、'a' 等)。
  • 使用 read()、write()readlines() 等方法進(jìn)行操作。
  • 如果使用 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("文件不存在,請(qǐng)檢查路徑。")
except PermissionError:
    print("沒(méi)有權(quán)限訪問(wèn)該文件。")
except Exception as e:
    print(f"發(fā)生了未知錯(cuò)誤:{e}")

8. 小貼士

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

    pytorch報(bào)錯(cuò)問(wèn)題:ValueError: num_samples should be

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

    Python錯(cuò)誤處理操作示例

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

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

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

    Python tkinter模版代碼實(shí)例

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

最新評(píng)論