最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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'寫入文件,如果文件存在則清空內(nèi)容;如果文件不存在則創(chuàng)建。
'a'追加模式,將新內(nèi)容添加到文件末尾。
'b'二進(jìn)制模式,用于操作非文本文件(如圖片、音頻)。
'rb'以二進(jìn)制模式讀取文件。
'wb'以二進(jìn)制模式寫入文件。

示例:打開(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í)寫入磁盤。

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)容

寫入文件內(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)容的方式,適用于不同的場(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)制模式讀取和寫入。

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

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

示例:寫入二進(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. 小貼士

  • 文件操作要小心:寫入模式 '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)文章

  • Pycharm之快速定位到某行快捷鍵的方法

    Pycharm之快速定位到某行快捷鍵的方法

    今天小編就為大家分享一篇Pycharm之快速定位到某行快捷鍵的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Python自動(dòng)化辦公之生成PDF報(bào)告詳解

    Python自動(dòng)化辦公之生成PDF報(bào)告詳解

    因?yàn)楣ぷ餍枰?jīng)常需要生成很多的PDF報(bào)告給客戶查看產(chǎn)品效果以及過(guò)程的講解,每次都需要按照一定的格式的編寫文檔并生成PDF報(bào)告,這樣重復(fù)性的工作實(shí)在太累。本文就來(lái)用Python實(shí)現(xiàn)自動(dòng)生成PDF報(bào)告吧
    2023-03-03
  • python中SSH遠(yuǎn)程登錄設(shè)備的實(shí)現(xiàn)方法

    python中SSH遠(yuǎn)程登錄設(shè)備的實(shí)現(xiàn)方法

    本文主要介紹了python中SSH遠(yuǎn)程登錄設(shè)備,python中支持SSH協(xié)議的模塊主要有Paramiko和netmiko兩種,本文主要介紹了netmiko模塊,具有一定的參考價(jià)值,感興趣的可以了解一下
    2022-04-04
  • Python 概率生成問(wèn)題案例詳解

    Python 概率生成問(wèn)題案例詳解

    這篇文章主要介紹了Python 概率生成問(wèn)題案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • 解決keras使用cov1D函數(shù)的輸入問(wèn)題

    解決keras使用cov1D函數(shù)的輸入問(wèn)題

    這篇文章主要介紹了解決keras使用cov1D函數(shù)的輸入問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • python進(jìn)階之多線程對(duì)同一個(gè)全局變量的處理方法

    python進(jìn)階之多線程對(duì)同一個(gè)全局變量的處理方法

    今天小編就為大家分享一篇python進(jìn)階之多線程對(duì)同一個(gè)全局變量的處理方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • 淺談Python 參數(shù)與變量

    淺談Python 參數(shù)與變量

    這篇文章主要介紹了Python 參數(shù)與變量的的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • python中執(zhí)行shell的兩種方法總結(jié)

    python中執(zhí)行shell的兩種方法總結(jié)

    這篇文章主要介紹了python中執(zhí)行shell的兩種方法,有兩種方法可以在Python中執(zhí)行SHELL程序,方法一是使用Python的commands包,方法二則是使用subprocess包,這兩個(gè)包均是Python現(xiàn)有的內(nèi)置模塊。需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-01-01
  • Django ORM filter() 的運(yùn)用詳解

    Django ORM filter() 的運(yùn)用詳解

    這篇文章主要介紹了Django ORM filter() 的運(yùn)用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • 詳解基于python的圖像Gabor變換及特征提取

    詳解基于python的圖像Gabor變換及特征提取

    這篇文章主要介紹了基于python的圖像Gabor變換及特征提取,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-10-10

最新評(píng)論

济南市| 佛教| 沙坪坝区| 常州市| 吉首市| 贵港市| 呼图壁县| 赣榆县| 利津县| 光山县| 铜梁县| 于田县| 温州市| 宁海县| 金山区| 张北县| 丘北县| 竹溪县| 盖州市| 大埔区| 柘城县| 建瓯市| 镇赉县| 盈江县| 常州市| 班玛县| 高安市| 怀安县| 夏邑县| 和田市| 遂昌县| 布尔津县| 卢氏县| 扬州市| 乌兰察布市| 盐津县| 武义县| 喀喇| 义乌市| 卢氏县| 佛坪县|