Python學習筆記8-文件的讀取和寫入

更新於 2023/06/25閱讀時間約 4 分鐘

前言

在這篇文章中,我將簡要介紹如何使用Python來處理文件,包括如何打開、讀取、寫入和關閉文件。我也會給出一些範例程式碼和註解,讓你更容易理解和學習。

打開文件

要打開一個文件,我們需要使用open()函數,它接受文件名稱和模式兩個參數:
  1. 文件名稱:一個字串,表示要訪問的文件的路徑和名稱。
  2. 模式:一個字串,表示要以什麼方式打開文件,例如只讀、寫入、追加等。
# 打開一個只讀的文件
f = open("test.txt", "r")
# 打開一個寫入模式的文件,如果文件不存在,則創建一個新文件
f = open("new.txt", "w")
# 打開一個追加模式的文件,如果文件存在,則在文件末尾寫入
f = open("log.txt", "a")

關閉文件

在操作完文件後,我們需要使用close()方法來關閉文件,這樣可以釋放資源,並避免數據丟失或損壞。
# 關閉文件
f.close()

讀取文件

要從一個打開的文件中讀取數據,我們可以使用read()方法來讀取整個文件的內容,或者使用readline()方法來讀取一行數據,或者使用readlines()方法來讀取所有行數據,這些方法都會返回一個字串或者一個列表。

讀取整個文件

f = open("test.txt", "r")
content = f.read()
print(content)
f.close()

讀取第一行

f = open("test.txt", "r")
line = f.readline()
print(line)
f.close()

讀取所有行

f = open("test.txt", "r")
lines = f.readlines()
for line in lines:
    print(line)
f.close()

寫入文件

要向一個打開的文件中寫入數據,我們可以使用write()方法來寫入一個字串到文件中,或者使用writelines()方法來寫入一個列表到文件中。這些方法都不會在字串的末尾添加換行符號。例如:

寫入一個字串

f = open("new.txt", "w")
f.write("Hello, Python!")
f.close()

寫入一個列表

f = open("new.txt", "w")
lines = ["Python is a great language.\n", "Yeah, it's great!\n"]
f.writelines(lines)
f.close()

使用上下文管理器

除了使用open()和close()方法來操作文件外,我們還可以使用上下文管理器(Context Manager)來自動管理文件的開啟和關閉,這樣更加方便且安全。
例如:
# 使用上下文管理器讀取文件
with open("test.txt", "r") as f:
    content = f.read()
    print(content)
# 使用上下文管理器寫入文件
with open("new.txt", "w") as f:
    f.write("Hello, Python!")
在這篇學習筆記中,我們學習了如何使用Python來處理文件,打開、讀取、寫入和關閉文件的基本操作,我們還介紹了使用上下文管理器來自動管理文件的開啟和關閉,通過學習這些知識,你可以更好地處理和操作文件,進一步拓寬你的Python程式開發能力。

感謝您閱讀本篇文章!我們很高興您能從中獲得一些有用的資訊。如果您喜歡這篇文章,請不要吝嗇您的支持,您可以:
  1. 按下愛心:這樣我們就知道您對這篇文章的喜愛程度,也可以讓更多人看到它。
  2. 分享文章:如果您認為這篇文章也能幫助其他人,請把它分享出去。
  3. 追蹤我們:如果您想持續收到更多類似的內容,請點擊追蹤按鈕。
  4. 支持我們:如果您願意,您也可以成為我們的贊助者。
為什麼會看到廣告
「Python學習筆記:輕鬆掌握程式設計」是一個豐富的Python學習資源,幫助你從零基礎起步,逐步掌握這個強大的程式語言。這份筆記涵蓋了變數和資料型別、基本運算符、輸入和輸出,並深入探討條件判斷、迴圈和函式等核心主題。此外,你將學習列表、字典和文件操作等常用資料結構,並瞭解物件導向程式設計的概念和遞迴演算法的基礎。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
我們介紹了字串和列表的索引和切片操作。索引使用方括號[]來選擇字串或列表中的特定元素,並可以使用正向索引(從0開始)或反向索引(從最後一個元素為-1)來訪問元素。切片使用方括號[]和冒號:來選擇字串或列表中的一段子序列,指定起始位置和結束位置(不包含),並可以使用步長來控制間隔。
本篇文章介紹了在Python中的錯誤處理機制。錯誤處理在程式設計中是一個重要環節,能夠有效處理可能發生的錯誤。示範了如何捕捉錯誤並根據不同錯誤類型進行處理或提示。此外,還介紹了指定特定錯誤類型和捕捉所有錯誤的方法。透過學習這些錯誤處理的技巧,讀者可以更好地避免程式崩潰,提供友善的使用者體驗。
我們將探索函式的定義和調用,這是程式設計中非常重要且強大的概念,它可以將大型程式切割成小的、可重複使用的函式。讓我們一起來了解吧!函式的定義、呼叫和返回值是學習函式的核心。
探索Python學習筆記中列表的建立、存取和常用方法。從使用中括號定義列表到了解索引、新增、刪除、修改等操作,並介紹append、remove、count等常用方法。
在本篇Python學習筆記中,我們探討了字典的建立與存取,以及常用方法,字典是一種強大的資料型態,透過key和value的對應關係存儲和取得資料,我們學會了建立字典、存取資料、新增/修改/刪除項目,以及取得key和value的方法,字典是Python中不可或缺的工具!
我們探討了while迴圈的使用,不同於for迴圈,while迴圈以條件式判斷為基礎,而非限定重複次數。我們介紹了使用break語句強制結束迴圈,以及使用continue語句跳過特定程式碼並返回迴圈開頭,同時,我們提及了無窮迴圈的概念,強調了在迴圈中必須更改迴圈變數的值,以避免無窮迴圈的發生。
我們介紹了字串和列表的索引和切片操作。索引使用方括號[]來選擇字串或列表中的特定元素,並可以使用正向索引(從0開始)或反向索引(從最後一個元素為-1)來訪問元素。切片使用方括號[]和冒號:來選擇字串或列表中的一段子序列,指定起始位置和結束位置(不包含),並可以使用步長來控制間隔。
本篇文章介紹了在Python中的錯誤處理機制。錯誤處理在程式設計中是一個重要環節,能夠有效處理可能發生的錯誤。示範了如何捕捉錯誤並根據不同錯誤類型進行處理或提示。此外,還介紹了指定特定錯誤類型和捕捉所有錯誤的方法。透過學習這些錯誤處理的技巧,讀者可以更好地避免程式崩潰,提供友善的使用者體驗。
我們將探索函式的定義和調用,這是程式設計中非常重要且強大的概念,它可以將大型程式切割成小的、可重複使用的函式。讓我們一起來了解吧!函式的定義、呼叫和返回值是學習函式的核心。
探索Python學習筆記中列表的建立、存取和常用方法。從使用中括號定義列表到了解索引、新增、刪除、修改等操作,並介紹append、remove、count等常用方法。
在本篇Python學習筆記中,我們探討了字典的建立與存取,以及常用方法,字典是一種強大的資料型態,透過key和value的對應關係存儲和取得資料,我們學會了建立字典、存取資料、新增/修改/刪除項目,以及取得key和value的方法,字典是Python中不可或缺的工具!
我們探討了while迴圈的使用,不同於for迴圈,while迴圈以條件式判斷為基礎,而非限定重複次數。我們介紹了使用break語句強制結束迴圈,以及使用continue語句跳過特定程式碼並返回迴圈開頭,同時,我們提及了無窮迴圈的概念,強調了在迴圈中必須更改迴圈變數的值,以避免無窮迴圈的發生。
你可能也想看
Google News 追蹤
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
去年錄製好的線上課程,今年終於上架了! 非常慚愧,在方格子平台還沒寫幾篇內容,就要先宣傳自己的課程。不過現在67折優惠,宣傳還是有必要的吧,哈!我就維持喜寫論述的習性,介紹一下這門課程,以及我在這個領域──金融商品價格預測──所看見的狀況。 好奇的可以當補充課外知識,有興趣的可以看文末的課程連結。
Thumbnail
前言 在完成ALPHA Camp學期2-3的課程,因為接著上了彭彭老師的WeHelp coding bootcamp,再加上年底工作也較忙,似乎還沒機會好好整理學期2-3的心得,這邊可能至少先欠一篇文章,想先根據這周末學習Falsk session的運作機制做些簡單的紀錄。 何謂Flask
Thumbnail
「品酒」已經不再是有錢人的權利,在這個美酒當道的年代,我們要如何像 Somm 電影的品酒師,一口就能辨別出「口感」、「年份」、「產地」,甚至預測下一季爆款的酒呢? 情境: 這時候,機器學習與深度學習都是相當好的辦法,但我們要成為好的品酒工程師之前,我們必須學會理解「數據來源」、「產業知識」、「演算法
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
我希望透過在好學校開設「Python 的 50+ 練習:資料科學學習手冊」,讓學生一步步完成這門課程所有的觀念講解、範例實作以及練習之後,扎實地將 Python 程式設計與資料科學應用納入自己的技能組,成為一位擅長寫程式處理資料的分析師,大幅提升工作掌握度與職涯發展性!
Thumbnail
今天要介紹的是簡單的文本分析,主要內容會包含處理html標籤、jieba斷詞、TF-IDF轉換與Logistic Regression和svm,透過文本探勘預測哪些文本會成為熱門文章。
Thumbnail
幾週前開始線上學習 Python,一路完成了十九關的關卡,也就是十九堂基礎課程。整體來說前面一到十四關都不算難度高,但越到後面其實更需要耗費許多專注心力與邏輯思考,無奈自己時而處理其他日常工作,變成全神貫注學習的完整時間幾乎被打碎。所以到後半段,已經不太能花時間坐在電腦前想清楚一整段的代碼要怎麼布建
Thumbnail
很多文章都說未來是人工智慧的時代,程式語言是必備能力,靠著一時腦熱蒐集了許多資訊,我想說學習不用很厲害才開始,只要有興趣就開始吧,就算用不到也沒關係!
Thumbnail
一天一課的上著網路上的 Python 課程。有朋友問說,為什麼要學 Python ?未來要作工程師嗎? 猶記得當時也是楞了一下,這個問題,有太多個表層與深層的回覆與想法。 充實隔離時光 最簡單的說法,其實就是想充實自己的隔離時間。當時在上海隔離(可以參見這一系列的隔離相關文:https://ma
Thumbnail
資料科學家、數據分析師是近幾年新興,而且熱門的職業,而DataCamp是一個專精於資料科學的程式教學網站。在實務上會用到的各種知識與程式技能,從流程面的網路爬蟲、數據清洗、資料視覺化,到技術面的Python、R語言、SQL,在DataCamp上幾乎都可以找到相關教學。
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
去年錄製好的線上課程,今年終於上架了! 非常慚愧,在方格子平台還沒寫幾篇內容,就要先宣傳自己的課程。不過現在67折優惠,宣傳還是有必要的吧,哈!我就維持喜寫論述的習性,介紹一下這門課程,以及我在這個領域──金融商品價格預測──所看見的狀況。 好奇的可以當補充課外知識,有興趣的可以看文末的課程連結。
Thumbnail
前言 在完成ALPHA Camp學期2-3的課程,因為接著上了彭彭老師的WeHelp coding bootcamp,再加上年底工作也較忙,似乎還沒機會好好整理學期2-3的心得,這邊可能至少先欠一篇文章,想先根據這周末學習Falsk session的運作機制做些簡單的紀錄。 何謂Flask
Thumbnail
「品酒」已經不再是有錢人的權利,在這個美酒當道的年代,我們要如何像 Somm 電影的品酒師,一口就能辨別出「口感」、「年份」、「產地」,甚至預測下一季爆款的酒呢? 情境: 這時候,機器學習與深度學習都是相當好的辦法,但我們要成為好的品酒工程師之前,我們必須學會理解「數據來源」、「產業知識」、「演算法
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
我希望透過在好學校開設「Python 的 50+ 練習:資料科學學習手冊」,讓學生一步步完成這門課程所有的觀念講解、範例實作以及練習之後,扎實地將 Python 程式設計與資料科學應用納入自己的技能組,成為一位擅長寫程式處理資料的分析師,大幅提升工作掌握度與職涯發展性!
Thumbnail
今天要介紹的是簡單的文本分析,主要內容會包含處理html標籤、jieba斷詞、TF-IDF轉換與Logistic Regression和svm,透過文本探勘預測哪些文本會成為熱門文章。
Thumbnail
幾週前開始線上學習 Python,一路完成了十九關的關卡,也就是十九堂基礎課程。整體來說前面一到十四關都不算難度高,但越到後面其實更需要耗費許多專注心力與邏輯思考,無奈自己時而處理其他日常工作,變成全神貫注學習的完整時間幾乎被打碎。所以到後半段,已經不太能花時間坐在電腦前想清楚一整段的代碼要怎麼布建
Thumbnail
很多文章都說未來是人工智慧的時代,程式語言是必備能力,靠著一時腦熱蒐集了許多資訊,我想說學習不用很厲害才開始,只要有興趣就開始吧,就算用不到也沒關係!
Thumbnail
一天一課的上著網路上的 Python 課程。有朋友問說,為什麼要學 Python ?未來要作工程師嗎? 猶記得當時也是楞了一下,這個問題,有太多個表層與深層的回覆與想法。 充實隔離時光 最簡單的說法,其實就是想充實自己的隔離時間。當時在上海隔離(可以參見這一系列的隔離相關文:https://ma
Thumbnail
資料科學家、數據分析師是近幾年新興,而且熱門的職業,而DataCamp是一個專精於資料科學的程式教學網站。在實務上會用到的各種知識與程式技能,從流程面的網路爬蟲、數據清洗、資料視覺化,到技術面的Python、R語言、SQL,在DataCamp上幾乎都可以找到相關教學。