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

Python文件和異常處理小結(jié)

 更新時(shí)間:2025年03月05日 09:33:09   作者:Alfadi聯(lián)盟 蕭瑤  
本章詳細(xì)介紹了Python中的文件操作和異常處理,包括文件的讀取和寫入、異常的捕獲和處理,以及JSON數(shù)據(jù)的存儲(chǔ)和重構(gòu)代碼的最佳實(shí)踐,通過示例和解釋,幫助讀者掌握這些關(guān)鍵技能,感興趣的朋友一起看看吧

文件和異常處理是Python編程中不可或缺的技能。本章將帶你從基礎(chǔ)到進(jìn)階,徹底掌握文件操作和異常處理的核心知識(shí)點(diǎn),并通過通俗易懂的示例幫助所有人理解。

10.1 從文件中讀取數(shù)據(jù)

10.1.1 讀取整個(gè)文件

要讀取文件內(nèi)容,首先需要打開文件,使用 open() 函數(shù)并指定文件路徑和模式(如 'r' 表示只讀)。例如:

with open('pi_digits.txt', 'r') as file:
    contents = file.read()
print(contents)

使用 with 語句可以自動(dòng)關(guān)閉文件,避免資源泄露。file.read() 會(huì)一次性讀取文件全部內(nèi)容。

10.1.2 文件路徑

- 相對(duì)路徑:相對(duì)于當(dāng)前腳本的位置,如 data/pi.txt。

- 絕對(duì)路徑:完整的系統(tǒng)路徑,如 /home/user/documents/pi.txt。

在Windows中注意反斜杠轉(zhuǎn)義(C:\\path\\to\\file)或使用原始字符串(r'C:\path\to\file'`。

10.1.4 逐行讀取與列表存儲(chǔ)

若想逐行處理文件內(nèi)容,可以使用循環(huán):

with open('pi_digits.txt') as file:
    lines = file.readlines()  # 將各行存入列表
for line in lines:
    print(line.strip())       # 去除每行末尾的換行符

10.1.6 處理百萬行大文件

直接讀取大文件可能導(dǎo)致內(nèi)存不足。此時(shí)可逐行處理:

with open('big_file.txt') as file:
    for line in file:
        process(line)  # 每次處理一行,內(nèi)存友好

10.2 寫入文件

10.2.1 寫入空文件

使用 'w' 模式打開文件,若文件不存在則會(huì)創(chuàng)建:

with open('output.txt', 'w') as file:
    file.write("Hello, World!")

?? 注意:'w' 模式會(huì)覆蓋原有內(nèi)容!

10.2.3 追加內(nèi)容

用 'a' 模式追加內(nèi)容到文件末尾:

with open('output.txt', 'a') as file:
    file.write("\nAppended line.")

10.3 異常處理:讓程序更健壯

10.3.1 處理 ZeroDivisionError

當(dāng)除數(shù)為零時(shí),程序會(huì)崩潰。通過 try-except 捕獲異常:

with open('output.txt', 'a') as file:
    file.write("\nAppended line.")

10.3.5 處理 FileNotFoundError

讀取不存在的文件時(shí)拋出此異常:

filename = 'missing.txt'
try:
    with open(filename) as file:
        content = file.read()
except FileNotFoundError:
    print(f"文件 {filename} 不存在!")

10.3.6 靜默失敗

若想忽略某些異常,可用 pass:

try:
    # 可能出錯(cuò)的代碼
except FileNotFoundError:
    pass  # 靜默處理

10.4 存儲(chǔ)數(shù)據(jù):JSON的妙用

10.4.1 使用 json.dump() 和 json.load()

將數(shù)據(jù)保存為JSON格式:

import json
data = {'name': 'Alice', 'age': 30}
with open('data.json', 'w') as file:
    json.dump(data, file)  # 寫入文件
# 讀取JSON數(shù)據(jù)
with open('data.json') as file:
    loaded_data = json.load(file)
print(loaded_data['name'])  # 輸出:Alice

10.4.2 重構(gòu)代碼

將功能拆分為獨(dú)立函數(shù),提升可維護(hù)性:

def save_user_data(username):
    """保存用戶數(shù)據(jù)到JSON文件"""
    with open('users.json', 'w') as file:
        json.dump({'username': username}, file)

10.5 小結(jié)與最佳實(shí)踐

- 文件操作:優(yōu)先使用 with 語句,避免忘記關(guān)閉文件。

- 異常處理:精準(zhǔn)捕獲特定異常(如 FileNotFoundError),避免籠統(tǒng)的 except。

- 數(shù)據(jù)存儲(chǔ):JSON適合存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù),且跨平臺(tái)兼容。

- 代碼風(fēng)格:添加清晰的注釋,拆分復(fù)雜操作為函數(shù)。

通過本章學(xué)習(xí),你將能夠優(yōu)雅地處理文件讀寫、從容應(yīng)對(duì)程序錯(cuò)誤,并掌握數(shù)據(jù)持久化的核心技巧?,F(xiàn)在,動(dòng)手寫一段代碼試試吧!

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

相關(guān)文章

  • DataFrame.groupby()所見的各種用法詳解

    DataFrame.groupby()所見的各種用法詳解

    這篇文章主要介紹了DataFrame.groupby()所見的各種用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Python實(shí)現(xiàn)遍歷指定路徑下的所有JSON文件

    Python實(shí)現(xiàn)遍歷指定路徑下的所有JSON文件

    這篇文章主要為大家詳細(xì)介紹了如何使用Python的os和json模塊遍歷指定路徑下的所有JSON文件,包括文件檢查、讀取、解析及錯(cuò)誤處理過程,感興趣的小伙伴可以了解下
    2026-03-03
  • 如何徹底解決python?NameError:name?'__file__'?is?not?defined

    如何徹底解決python?NameError:name?'__file__'?is?not?

    這篇文章主要給大家介紹了關(guān)于如何徹底解決python?NameError:name?'__file__'?is?not?defined的相關(guān)資料,文中通過圖文將解決的辦法介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • python中reader的next用法

    python中reader的next用法

    這篇文章主要介紹了python中reader的next用法,分別介紹了python3中的用法和python2中的用法,具體實(shí)例代碼大家參考下本文
    2018-07-07
  • 解決python3爬蟲無法顯示中文的問題

    解決python3爬蟲無法顯示中文的問題

    下面小編就為大家分享一篇解決python3爬蟲無法顯示中文的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Pycharm安裝第三方庫并更換鏡像的詳細(xì)教程

    Pycharm安裝第三方庫并更換鏡像的詳細(xì)教程

    在使用pycharm學(xué)習(xí)python的時(shí)候,經(jīng)常需要第三方庫,沒有第三方庫程序就會(huì)報(bào)錯(cuò),pycharm也會(huì)提醒你要安裝所需要的庫,下面這篇文章主要給大家介紹了關(guān)于Pycharm安裝第三方庫并更換鏡像的詳細(xì)教程,需要的朋友可以參考下
    2023-05-05
  • 關(guān)于flask路由app.route及路由參數(shù)的各種用法解析

    關(guān)于flask路由app.route及路由參數(shù)的各種用法解析

    我們?cè)陂_發(fā)過程中,編寫項(xiàng)目時(shí)所使用的路由往往是指代了框架/項(xiàng)目中用于完成路由功能的類,這個(gè)類一般就是路由類,簡稱路由,這篇文章主要介紹了有關(guān)flask路由app.route及路由參數(shù)的各種用法解析,需要的朋友可以參考下
    2024-03-03
  • 關(guān)于python3?opencv?圖像二值化的問題(cv2.adaptiveThreshold函數(shù))

    關(guān)于python3?opencv?圖像二值化的問題(cv2.adaptiveThreshold函數(shù))

    這篇文章主要介紹了python3?opencv?圖像二值化cv2.adaptiveThreshold函數(shù)的相關(guān)知識(shí),結(jié)合示例代碼介紹了adaptiveThreshold方法的用法,需要的朋友可以參考下
    2022-04-04
  • python中的編碼知識(shí)整理匯總

    python中的編碼知識(shí)整理匯總

    這篇文章主要介紹了python中的編碼知識(shí)整理匯總的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • Python實(shí)現(xiàn)直方圖均衡基本原理解析

    Python實(shí)現(xiàn)直方圖均衡基本原理解析

    這篇文章主要介紹了Python實(shí)現(xiàn)直方圖均衡基本原理,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-08-08

最新評(píng)論

景谷| 秭归县| 林芝县| 甘谷县| 南澳县| 阿勒泰市| 海阳市| 辽宁省| 巴楚县| 乌拉特前旗| 芒康县| 永善县| 正蓝旗| 江永县| 台东市| 若尔盖县| 弋阳县| 海盐县| 仙游县| 友谊县| 乐东| 邛崃市| 泽州县| 富阳市| 塘沽区| 沽源县| 盘锦市| 东兰县| 隆子县| 保康县| 桦南县| 邵阳县| 塔河县| 乐至县| 长岭县| 普陀区| 上饶县| 利津县| 哈巴河县| 舟山市| 淮滨县|