首頁 後端開發 Python教學 python如何讀取txt檔案內容

python如何讀取txt檔案內容

Jul 12, 2021 pm 03:49 PM
python 讀取文件

python讀取txt檔案的方法:1、使用read()函數逐個位元組或字元讀取txt檔案中的內容;2、使用readline()函數逐行讀取txt檔案中的內容;3、使用readlines()函數一次讀取txt檔案中多行內容。

python如何讀取txt檔案內容

本教學操作環境:windows7系統、python3.7版,DELL G3電腦

Python 提供如下3 種函數,它們都可以幫我們實作讀取檔案中資料的操作:

  • read() 函數:逐個位元組或字元讀取檔案中的內容;

  • #readline() 函數:逐行讀取檔案中的內容;

  • readlines() 函數:一次讀取檔案中多行內容。

Python read()函數

對於借助open() 函數,並以可讀模式(包括r 、r 、rb、rb )開啟的文件,可以呼叫read() 函數逐個位元組(或逐個字元)讀取文件中的內容。

如果檔案是以文字模式(非二進位模式)開啟的,則read() 函數會逐個字元進行讀取;反之,如果檔案以二進位模式打開,則read() 函數會逐個字節進行讀取。

read() 函數的基本語法格式如下:

file.read([size])

其中,file 表示已開啟的檔案物件;size 作為一個可選參數,用於指定一次最多可讀取的字符(位元組)個數,如果省略,則預設一次讀取所有內容。

舉個例子,先建立一個名為my_file.txt 的文字文件,其內容為:

Python教程
//m.sbmmt.com/course/list/30.html

然後在和my_file.txt 同目錄下,建立一個file.py 文件,並編寫如下語句:

#以 utf-8 的编码格式打开指定文件
f = open("my_file.txt",encoding = "utf-8")
#输出读取到的数据
print(f.read())
#关闭文件
f.close()

程式執行結果為:

Python教程
//m.sbmmt.com/course/list/30.html

注意,當操作檔結束後,必須呼叫close() 函數手動將開啟的檔案進行關閉,這樣可以避免程序發生不必要的錯誤。

當然,我們也可以透過使用size 參數,指定read() 每次可讀取的最大字元(或位元組)數,例如:

#以 utf-8 的编码格式打开指定文件
f = open("my_file.txt",encoding = "utf-8")
#输出读取到的数据
print(f.read(6))
#关闭文件
f.close()

程式執行結果為:

Python

顯然,程式中的read() 函數只讀取了my_file 檔案開頭的6 個字元。

再次強調,size 表示的是一次最多可讀取的字元(或位元組)數,因此,即便設定的size 大於檔案中儲存的字元(位元組)數,read() 函數也不會報錯,它只會讀取檔案中所有的資料。

除此之外,對於以二進位格式開啟的文件,read() 函數會逐個位元組讀取文件中的內容。例如:

#以二进制形式打开指定文件
f = open("my_file.txt",'rb+')
#输出读取到的数据
print(f.read())
#关闭文件
f.close()

程式執行結果為:

b'Python\xe6\x95\x99\xe7\xa8\x8b\r\n//m.sbmmt.com/course/list/30.html'

可以看到,輸出的資料為 bytes 位元組字串。我們可以呼叫 decode() 方法,將其轉換成我們認識的字串。

Python readline()函數

#readline() 函數用於讀取檔案中的一行,包含最後的換行符「\n 」。此函數的基本語法格式為:

file.readline([size])

其中,file 為開啟的檔案物件;size 為可選參數,用於指定讀取每一行時,一次最多讀取的字元(位元組)數。

和read() 函數一樣,此函數成功讀取檔案資料的前提是,使用open() 函數指定開啟檔案的模式必須為可讀模式(包括r、rb、r 、rb 4 種)。

下面程式示範了readline() 函數的具體用法:

f = open("my_file.txt")
#读取一行数据
byt = f.readline()
print(byt)

程式執行結果為:

Python教程

由於readline() 函數在讀取檔案中一行的內容時,會讀取最後的換行符“\n”,再加上print() 函數輸出內容時預設會換行,所以輸出結果中會看到多出了一個空白行。

不僅如此,在逐行讀取時,還可以限制最多可以讀取的字元(位元組)數,例如:

#以二进制形式打开指定文件
f = open("my_file.txt",'rb')
byt = f.readline(6)
print(byt)

執行結果為:

b'Python'

和上一個例子的輸出結果相比,由於這裡沒有完整讀取一行的數據,因此不會讀取到換行符。

Python readlines()函數

#readlines() 函數用於讀取檔案中的所有行,它和呼叫不指定size 參數的read() 函數類似,只不過該函數傳回是一個字串列表,其中每個元素為檔案中的一行內容。

和 readline() 函數一樣,readlines() 函數在讀取每一行時,會連同行尾的換行符一塊讀取。

readlines() 函數的基本語法格式如下:

file.readlines()

其中,file 為開啟的檔案物件。和 read()、readline() 函數一樣,它要求開啟檔案的模式必須為可讀模式(包括 r、rb、r 、rb 4 種)。

舉個例子:

f = open("my_file.txt",'rb')
byt = f.readlines()
print(byt)

運行結果為:

[b'Python\xbd\xcc\xb3\xcc\r\n', b'//m.sbmmt.com/course/list/30.html']

#【相關推薦:Python3影片教學

以上是python如何讀取txt檔案內容的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP教程
1517
276
一文了解什麼是加密貨幣交易中的情緒分析? 一文了解什麼是加密貨幣交易中的情緒分析? Aug 14, 2025 am 11:15 AM

目錄什麼是加密貨幣交易中的情緒分析?為什麼情緒分析在加密貨幣投資中很重要情緒數據的關鍵來源a.社交媒體平台b.新聞媒體c.市場指標情緒分析的工具和技術情緒分析中常用的工具:採用的技術:將情感分析整合到交易策略中交易者如何使用它:策略示例:假設BTC交易場景場景設置:情感信號:交易者的解讀:決策:結果:情感分析的局限性和風險利用情感進行更智能的加密貨幣交易理解市場情緒在加密貨幣交易中變得越來越重要。最近一項2025年的研究由Hamid

如何使用Python自動化從Excel到Web表單的數據輸入? 如何使用Python自動化從Excel到Web表單的數據輸入? Aug 12, 2025 am 02:39 AM

使用Python自動化將Excel數據填入網頁表單的方法是:先用pandas讀取Excel數據,再用Selenium控制瀏覽器自動填寫並提交表單;具體步驟包括安裝pandas、openpyxl和Selenium庫,下載對應瀏覽器驅動,用pandas讀取data.xlsx文件中的Name、Email、Phone等字段,通過Selenium啟動瀏覽器打開目標網頁,定位表單元素並逐行填入數據,使用WebDriverWait處理動態加載內容,添加異常處理和延遲確保穩定性,最後提交表單並循環處理所有數據行

如何處理不適合內存的Python中的大型數據集? 如何處理不適合內存的Python中的大型數據集? Aug 14, 2025 pm 01:00 PM

當Python中處理超出內存的大型數據集時,不能一次性加載到RAM中,而應採用分塊處理、磁盤存儲或流式處理等策略;可通過Pandas的chunksize參數分塊讀取CSV文件並逐塊處理,使用Dask實現類似Pandas語法的並行化和任務調度以支持大內存數據操作,編寫生成器函數逐行讀取文本文件減少內存佔用,利用Parquet列式存儲格式結合PyArrow高效讀取特定列或行組,使用NumPy的memmap對大型數值數組進行內存映射以按需訪問數據片段,或將數據存入SQLite或DuckDB等輕量級數據

如何使用Python中的索引枚舉循環 如何使用Python中的索引枚舉循環 Aug 11, 2025 pm 01:14 PM

當需要遍歷序列並訪問索引時,應使用enumerate()函數,1.enumerate()自動提供索引和值,比range(len(sequence))更簡潔;2.可通過start參數指定起始索引,如start=1實現1-based計數;3.可結合條件邏輯使用,如跳過首項、限制循環次數或格式化輸出;4.適用於列表、字符串、元組等任意可迭代對象,並支持元素解包;5.提升代碼可讀性,避免手動管理計數器,減少錯誤。

如何在Python中將文件和目錄從一個位置複製到另一個位置 如何在Python中將文件和目錄從一個位置複製到另一個位置 Aug 11, 2025 pm 06:11 PM

要復製文件和目錄,Python的shutil模塊提供了高效且安全的方法。 1.使用shutil.copy()或shutil.copy2()複製單個文件,後者保留元數據;2.使用shutil.copytree()遞歸複製整個目錄,目標目錄不能預先存在,但可通過dirs_exist_ok=True(Python3.8 )允許目標存在;3.可結合ignore參數和shutil.ignore_patterns()或自定義函數過濾特定文件;4.複製僅目錄結構需用os.walk()和os.makedirs()

如何在Python中打印出JSON文件? 如何在Python中打印出JSON文件? Aug 07, 2025 pm 12:10 PM

要美化打印JSON文件,需使用json模塊的indent參數,具體步驟為:1.使用json.load()讀取JSON文件數據;2.使用json.dump()並將indent設為4或2寫入新文件,即可生成格式化後的JSON文件,完成美化打印。

如何使用Python進行股票市場分析和預測? 如何使用Python進行股票市場分析和預測? Aug 11, 2025 pm 06:56 PM

Python可以用於股票市場分析與預測,答案是肯定的,通過使用yfinance等庫獲取數據,利用pandas進行數據清洗和特徵工程,結合matplotlib或seaborn進行可視化分析,再運用ARIMA、隨機森林、XGBoost或LSTM等模型構建預測系統,並通過回測評估性能,最終可藉助Flask或FastAPI部署應用,但需注意市場預測的不確定性、過擬合風險及交易成本影響,成功依賴於數據質量、模型設計和合理預期。

如何調試您的Python代碼 如何調試您的Python代碼 Aug 13, 2025 am 12:18 AM

useprint()statement stocheckVaruesAndExeCutionFlow,添加labelsandtypesforclarity,andremovethembeforeCommitting; 2.usethephepythondebugger(pdb)withBreakpoint(pock)

See all articles