<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網易首頁 > 網易號 > 正文 申請入駐

      Python 編程B16:文件(一)

      0
      分享至

      第十章 文件與數據格式化

      隨著程序規模的增大,我們不再只處理內存中的臨時數據,而需要將數據長期保存或跨程序共享。文件是最基本的數據持久化方式,也是 Python 與外部世界溝通的重要橋梁。

      在現代編程中,文件不僅僅是“讀寫文本”,它還代表著數據的組織形式。

      通過不同的文件格式(如 .txt、.csv、.json),我們可以存儲和處理一維列表、二維表格,甚至高維結構化數據。

      學習目標:

      (1)理解文件的概念、分類及其在程序中的作用。

      (2)掌握 Python 文件的打開、讀取、寫入與關閉操作。

      (3)熟練使用 with 上下文與異常處理實現安全文件操作。

      (4)了解數據的組織維度(一維、二維、高維)與常用格式(CSV、JSON)。

      (5)能夠將程序數據保存為文本或結構化文件并重新加載使用。

      10.1 文件概述

      當程序運行結束后,所有變量和數據都將從內存中消失。若要保存程序的運行結果、記錄日志或在不同程序間共享信息,就需要借助文件(File)。

      文件是數據在外部存儲介質(如磁盤)上的長期存放形式,是實現數據持久化的核心手段。

      Python 提供了簡單而功能強大的文件操作接口,使得保存結果與加載數據都非常方便。

      10.1.1文件與路徑

      文件由文件名和路徑組成。路徑(Path)描述了文件在計算機存儲中的位置。

      (1)絕對路徑(Absolute Path):從磁盤根目錄開始的完整路徑。

      例如:

      "C:\\Users\\mediaTEA\\Documents\\data.txt"

      (2)相對路徑(Relative Path):相對于當前程序所在目錄的路徑。

      例如:

      "data\\result.txt"  # 當前目錄下的 data 文件夾

      Python 中常用 或 模塊處理路徑:

      print(data_dir.exists())

      10.1.2 文件類型

      根據存儲形式不同,文件主要分為兩類。

      (1)文本文件(Text File)

      ? 以字符形式存儲數據,如 .txt、.csv、.json。

      ? 支持文本編輯器打開。

      ? 通常需要指定編碼(如 UTF-8)。

      (2)二進制文件(Binary File)

      ? 以字節形式存儲,如圖片、音頻、模型文件(.jpg、.mp3、.pkl)。

      ? 不可直接用文本方式查看。

      10.1.3文件編碼

      open() 在文本模式下的默認編碼依賴于運行環境的區域設置,因此建議顯式指定 encoding="utf-8" 以避免跨平臺編碼問題。

          print(f.read())

      提示:

      可通過標準庫 .getpreferredencoding() 查看系統 locale。

      10.1.4 數據組織的維度

      文件不僅僅是保存內容的容器,它還決定了數據的組織方式。

      Python 支持多種維度的數據表示。從一維的數列,到二維的表格,再到高維的嵌套結構。不同維度的數據對應不同的文件格式與讀取方法。

      10.2 文件的使用

      文件的操作流程可概括為三步:

      打開(open) → 操作(讀寫) → 關閉(close)

      在 Python 中,既可手動控制文件關閉,還可通過 with 上下文自動管理資源。

      10.2.1 文件的打開與關閉

      使用內置函數 打開文件。

      基本語法結構:

      f = open(file, mode, encoding=None)    # 打開文件,返回一個文件對象

      常見模式說明:

            'r+' 從開頭讀寫;'w+' 先截斷再讀寫;'a+' 追加寫入、可讀取。

      示例:

      f.close()

      提示:寫入后務必調用 .close() 關閉文件,以釋放資源。

      10.2.2 with 上下文管理器

      with 語句能自動處理文件的關閉操作,是推薦的文件操作方式。

          f.write("追加一行文本。\n")

      等價于:

          f.close()

      優點:即使程序中途出錯,文件也會被安全關閉。

      10.2.3 文件的讀寫

      (1)讀取文件

      相關方法:

      .read(size = -1)

      讀取文件全部內容或指定 size 長度的字符串或字節流。

      .readline(size = -1)

      讀取一行或該行前指定 size 長度的字符串或字節流。

      說明:與 .read() 的參數一樣,size 表示要返回的最大字符(文本模式)或字節(二進制模式)數;當 size 被指定且小于剩余內容長度時會返回不完整的行/數據片段。

      .readlines(hint = -1)

      讀取所有行,返回以行元素的列表。hint 是一個建議的字節/字符大小閾值(近似),并非嚴格的行數限制。

      lines = f.readlines(1024)  # 大致讀取 ~1024 字節的行,返回行列表

      .seek(offset, whence=0)

      改變當前文件操作指針的位置。offset 是相對于 whence 的偏移量(以字節或字符為單位,取決于文件模式)。whence 指定相對位置:0(文件開頭)、1(當前位置)、2(文件結尾)。

      f.seek(0, 2)         # 或 f.seek(0, os.SEEK_END)

      示例 1:

          print(text)

      示例 2:

               print(line)

      示例 3:

              print(line, end="")   

      若文件很大時,推薦使用按行迭代 for line in f: 的方式。

      (2)寫入文件

      相關方法:

      .write(s)

      寫入字符串或字節流到文件。

      .writelines(lines)

      將一個元素為字符串的列表整體寫入到文件。

      示例 1:

          f.write("Loss=0.45, Accuracy=0.82\n")

      示例 2:

          f.writelines(ls)

      .writelines() 不會自動添加換行符,若要自動添加換行,列表元素必須包含 \n,還可使用 print(line, file=f) 或者 f.write("\n".join(lines))。

      10.2.4 文件異常處理

      文件操作中常見的異常包括:

      ? FileNotFoundError:文件不存在。

      ? PermissionError:無訪問權限。

      ? IsADirectoryError:路徑是文件夾不是文件。

      示例:

          print("讀取文件時發生錯誤:", e)

      10.3 一維數據的組織與處理

      Python 提供了靈活的工具來讀取、存儲與處理一維數據,使我們能夠輕松完成統計實驗結果、分析日志文件、清洗或篩選文本數據以及提取模型預測結果等任務。

      10.3.1 一維數據的表示與存儲

      最常見的一維數據結構有列表(list)和字符串(str)。

      列表適合保存數值型或混合型數據,而字符串常用于原始文本。

      例 10.3.1:將模型損失值寫入文本文件

      print("模型訓練損失值已保存。")

      保存后的文件內容為:

      0.69

      這種方式適用于線性、按時間順序變化的數據,如溫度記錄、實驗結果、訓練日志等。

      10.3.2 一維數據的讀取與處理

      讀取文件后,可通過類型轉換與內置函數進行進一步分析。

      例 10.3.2:計算平均損失值

          print("無有效數據。")

      輸出:

      平均損失值:0.802

      進一步示例:篩選特定區間的數據

      print("篩選后數據:", filtered)

      輸出:

      篩選后數據: [0.76, 0.69]

      這種篩選操作在 AI 訓練監控中非常常見,比如只提取低于閾值的損失以分析收斂階段。

      10.3.3 一維數據的應用

      文本文件不僅可用于保存數值,也常存放事件記錄或系統日志。

      我們可以使用字符串方法來搜索、過濾與統計關鍵信息。

      例 10.3.3:過濾 AI 訓練日志中的異常行

          print(e)

      示例輸入文件(train_log.txt):

      [INFO] Epoch 3: Loss=0.44

      輸出:

      [ERROR] Model failed to converge

      這種文本過濾思路與現實中的日志監控系統一致,是 AI 工程與系統維護的重要技能之一。

      例 10.3.4:關鍵字統計器

      統計一維文本數據中指定關鍵詞的出現次數。

      print(f"關鍵詞 '酒' 出現次數:{count}")

      輸出示例:

      關鍵詞 '酒' 出現次數:3

      此方法可用于自然語言處理(NLP)中的詞頻分析,也可擴展為關鍵詞提取或情感統計等任務。

      小結

      本次課介紹了 Python 文件操作的基礎概念、路徑處理、文件類型與編碼,以及文件的打開、關閉、讀寫與異常處理方法。通過示例展示了一維數據的保存、讀取、篩選與分析,以及日志與文本的關鍵字統計。

      下一課將進一步講解二維及高維數據的組織與處理(如 CSV 與 JSON 文件),并結合綜合案例進行文件應用實踐,為實際數據處理與 AI 訓練監控等打下堅實基礎。

      點贊有美意,贊賞是鼓勵

      特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關推薦
      熱點推薦
      每天一個水煮蛋是“死亡催化劑”?提醒:想健康吃蛋,5個錯別犯

      每天一個水煮蛋是“死亡催化劑”?提醒:想健康吃蛋,5個錯別犯

      健康科普365
      2026-01-11 20:30:03
      每體:維尼修斯向裁判抱怨,表示“亞馬爾總是一接觸就倒地”

      每體:維尼修斯向裁判抱怨,表示“亞馬爾總是一接觸就倒地”

      懂球帝
      2026-01-12 16:21:38
      塞班島賭王紀曉波覆滅:吳佩慈6年給他生四個孩子,五胎獎勵50億

      塞班島賭王紀曉波覆滅:吳佩慈6年給他生四個孩子,五胎獎勵50億

      易玄
      2024-11-19 17:53:39
      陪睡陪玩只是冰山一角!萬達蒸發800億后,王思聰再次傳出大丑聞

      陪睡陪玩只是冰山一角!萬達蒸發800億后,王思聰再次傳出大丑聞

      阿器談史
      2025-12-26 15:26:05
      善惡有報,2025年塌房的六大網紅,為了流量各種作妖,不值得同情

      善惡有報,2025年塌房的六大網紅,為了流量各種作妖,不值得同情

      單手搓核彈
      2026-01-06 14:04:34
      78年,我和弟弟去大伯家借10斤大米,回家后母親敞開米袋子哭了

      78年,我和弟弟去大伯家借10斤大米,回家后母親敞開米袋子哭了

      小月文史
      2024-08-30 15:32:41
      演技太裝太尬!央視《小城大事》遭惡評?這“戲混子”有很大責任

      演技太裝太尬!央視《小城大事》遭惡評?這“戲混子”有很大責任

      翰飛觀事
      2026-01-11 19:15:22
      1950年湖北土改踢到鐵板,地主拍桌子吼道:去北京打聽打聽我是誰!李先念無奈撥通一個電話,對面只回了一句話,徹底安靜了

      1950年湖北土改踢到鐵板,地主拍桌子吼道:去北京打聽打聽我是誰!李先念無奈撥通一個電話,對面只回了一句話,徹底安靜了

      源溯歷史
      2026-01-05 16:24:20
      美媒警告,中美很快就會開戰,但中國導彈能擊碎美軍任何防御系統

      美媒警告,中美很快就會開戰,但中國導彈能擊碎美軍任何防御系統

      觸摸史跡
      2026-01-09 18:12:32
      內塔尼亞胡:一旦德黑蘭政權倒臺,以色列和伊朗將再次成為伙伴

      內塔尼亞胡:一旦德黑蘭政權倒臺,以色列和伊朗將再次成為伙伴

      桂系007
      2026-01-11 23:39:56
      賢妻良母,面相真好,誰取到誰幸福一輩子

      賢妻良母,面相真好,誰取到誰幸福一輩子

      東方不敗然多多
      2026-01-12 05:31:21
      皇馬將與贊助商續約:3大金主 每年貢獻3億!高居世界第1

      皇馬將與贊助商續約:3大金主 每年貢獻3億!高居世界第1

      葉青足球世界
      2026-01-11 16:33:40
      京牌獲取全攻略:詳解北京車牌獲取出租方法和最新流程

      京牌獲取全攻略:詳解北京車牌獲取出租方法和最新流程

      歐聚聚科技互聯
      2026-01-12 11:51:37
      北京輸球揪出最大毒瘤!他上場17分鐘,投籃5中0,下滑太嚴重了

      北京輸球揪出最大毒瘤!他上場17分鐘,投籃5中0,下滑太嚴重了

      籃球專區
      2026-01-11 21:59:43
      輸球又輸人!皇馬決賽最慘之人:阿隆索親手將他打入冷宮

      輸球又輸人!皇馬決賽最慘之人:阿隆索親手將他打入冷宮

      瀾歸序
      2026-01-12 05:35:15
      陳幸同王曼昱已離開多哈,林高遠北京轉機,黃友政、薛飛抵達多哈

      陳幸同王曼昱已離開多哈,林高遠北京轉機,黃友政、薛飛抵達多哈

      阿錯田間生活
      2026-01-12 13:31:31
      廣州小學生被抽血事件:告訴爸媽就扣小紅花

      廣州小學生被抽血事件:告訴爸媽就扣小紅花

      每日一見
      2026-01-02 12:21:28
      沒出閣的姑娘闖禍了!合川一女孩家里殺豬,她請來了3000多人按豬

      沒出閣的姑娘闖禍了!合川一女孩家里殺豬,她請來了3000多人按豬

      火山詩話
      2026-01-11 18:13:33
      男性長期禁欲,性能力會更加強?醫生提醒:可能要付出這幾個代價

      男性長期禁欲,性能力會更加強?醫生提醒:可能要付出這幾個代價

      醫者榮耀
      2025-12-17 12:05:09
      黎筍之子黎堅誠坦言:父親選擇同中國開戰,是其畢生最大的失策

      黎筍之子黎堅誠坦言:父親選擇同中國開戰,是其畢生最大的失策

      磊子講史
      2025-12-24 11:04:05
      2026-01-12 17:40:49
      MediaTea
      MediaTea
      專業的數字媒體、新媒體技術
      1701文章數 72關注度
      往期回顧 全部

      科技要聞

      面對SpaceX瘋狂“下餃子” 中國正面接招

      頭條要聞

      女子不會殺豬上千網友去幫忙 村干部:宰5頭豬吃流水席

      頭條要聞

      女子不會殺豬上千網友去幫忙 村干部:宰5頭豬吃流水席

      體育要聞

      聰明的球員,不是教練教出來的

      娛樂要聞

      閆學晶:脫離群眾太久 忘了自己的根

      財經要聞

      倍輕松信披迷霧 實控人占用資金金額存疑

      汽車要聞

      增配不加價 北京現代 第五代 勝達2026款上市

      態度原創

      時尚
      本地
      親子
      游戲
      健康

      伊姐周日熱推:電視劇《御賜小仵作2》;電視劇《偶像瘋子》......

      本地新聞

      云游內蒙|“包”你再來?一座在硬核里釀出詩意的城

      親子要聞

      姐妹在糾結月子里怎么洗漱,來聽聽金牌月嫂的建議

      幻獸帕魯官方卡牌桌游來了!7月30上市還有簡中

      血常規3項異常,是身體警報!

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 国产成熟人妻换╳╳╳╳| 色欲AV无码一区二区人妻| 少妇高潮视频| 亚洲综合极品嫩模喷大量白浆| 熟女另类| 夜夜撸影院| 欧美A视频| 伊人不卡不卡| 在线亚洲色| 无码av免费毛片一区二区| 内射视频在线观看| 久久精品国产亚洲AV无码不| 亚洲欧美日韩中文字幕一区二区三区 | 制服丝袜国产精品| 国产成人精品1024免费下载| 亚洲 欧美 变态 另类 综合 | 宜宾市| 日日躁夜夜躁狠狠久久av| 国产精品久久久久久福利69堂| 桃花色综合影院| 深夜狼友| 日本一区二区三区在线 |观看| 激情无码人妻又粗又大| aaaaa级少妇高潮大片免费看| 精品人妻一| 伊人久久大香线蕉AV网| 亚洲国产精品第一区二区| 躁躁躁日日躁| 福利国产微拍广场一区视频在线| 亚洲精品不卡无码福利在线观看 | 日韩AV有码无码一区二区三区| 99久久精品免费看国产| 久久精品国产国产精| 国产成人精品97| 国产成人精品白浆免费视频试看 | 国产熟女精品传媒| 久久久受www免费人成| 日韩av影院在线观看| 久久人妻无码一区二区| 超碰国产精品久久国产精品99| 无码成人一区二区|