這篇文章主要講解了“python怎么讀取txt文件內容”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“python怎么讀取txt文件內容”吧!
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:空間域名、網(wǎng)站空間、營銷軟件、網(wǎng)站建設、昆玉網(wǎng)站維護、網(wǎng)站推廣。
python讀取txt文件的方法:1、使用read()函數(shù)逐個字節(jié)或者字符讀取txt文件中的內容;2、使用readline()函數(shù)逐行讀取txt文件中的內容;3、使用readlines()函數(shù)一次性讀取txt文件中多行內容。
本教程操作環(huán)境:windows7系統(tǒng)、python3.7版,DELL G3電腦
Python 提供了如下 3 種函數(shù),它們都可以幫我們實現(xiàn)讀取文件中數(shù)據(jù)的操作:
read() 函數(shù):逐個字節(jié)或者字符讀取文件中的內容;
readline() 函數(shù):逐行讀取文件中的內容;
readlines() 函數(shù):一次性讀取文件中多行內容。
Python read()函數(shù)
對于借助 open() 函數(shù),并以可讀模式(包括 r、r+、rb、rb+)打開的文件,可以調用 read() 函數(shù)逐個字節(jié)(或者逐個字符)讀取文件中的內容。
如果文件是以文本模式(非二進制模式)打開的,則 read() 函數(shù)會逐個字符進行讀取;反之,如果文件以二進制模式打開,則 read() 函數(shù)會逐個字節(jié)進行讀取。
read() 函數(shù)的基本語法格式如下:
file.read([size])
其中,file 表示已打開的文件對象;size 作為一個可選參數(shù),用于指定一次最多可讀取的字符(字節(jié))個數(shù),如果省略,則默認一次性讀取所有內容。
舉個例子,首先創(chuàng)建一個名為 my_file.txt 的文本文件,其內容為:
Python教程 https://www.php.cn/course/list/30.html
然后在和 my_file.txt 同目錄下,創(chuàng)建一個 file.py 文件,并編寫如下語句:
#以 utf-8 的編碼格式打開指定文件 f = open("my_file.txt",encoding = "utf-8") #輸出讀取到的數(shù)據(jù) print(f.read()) #關閉文件 f.close()
程序執(zhí)行結果為:
Python教程 https://www.php.cn/course/list/30.html
注意,當操作文件結束后,必須調用 close() 函數(shù)手動將打開的文件進行關閉,這樣可以避免程序發(fā)生不必要的錯誤。
當然,我們也可以通過使用 size 參數(shù),指定 read() 每次可讀取的最大字符(或者字節(jié))數(shù),例如:
#以 utf-8 的編碼格式打開指定文件 f = open("my_file.txt",encoding = "utf-8") #輸出讀取到的數(shù)據(jù) print(f.read(6)) #關閉文件 f.close()
程序執(zhí)行結果為:
Python
顯然,該程序中的 read() 函數(shù)只讀取了 my_file 文件開頭的 6 個字符。
再次強調,size 表示的是一次最多可讀取的字符(或字節(jié))數(shù),因此,即便設置的 size 大于文件中存儲的字符(字節(jié))數(shù),read() 函數(shù)也不會報錯,它只會讀取文件中所有的數(shù)據(jù)。
除此之外,對于以二進制格式打開的文件,read() 函數(shù)會逐個字節(jié)讀取文件中的內容。例如:
#以二進制形式打開指定文件 f = open("my_file.txt",'rb+') #輸出讀取到的數(shù)據(jù) print(f.read()) #關閉文件 f.close()
程序執(zhí)行結果為:
b'Python\xe6\x95\x99\xe7\xa8\x8b\r\nhttps://www.php.cn/course/list/30.html'
可以看到,輸出的數(shù)據(jù)為 bytes 字節(jié)串。我們可以調用 decode() 方法,將其轉換成我們認識的字符串。
Python readline()函數(shù)
readline() 函數(shù)用于讀取文件中的一行,包含最后的換行符“\n”。此函數(shù)的基本語法格式為:
file.readline([size])
其中,file 為打開的文件對象;size 為可選參數(shù),用于指定讀取每一行時,一次最多讀取的字符(字節(jié))數(shù)。
和 read() 函數(shù)一樣,此函數(shù)成功讀取文件數(shù)據(jù)的前提是,使用 open() 函數(shù)指定打開文件的模式必須為可讀模式(包括 r、rb、r+、rb+ 4 種)。
下面程序演示了 readline() 函數(shù)的具體用法:
f = open("my_file.txt") #讀取一行數(shù)據(jù) byt = f.readline() print(byt)
程序執(zhí)行結果為:
Python教程
由于 readline() 函數(shù)在讀取文件中一行的內容時,會讀取最后的換行符“\n”,再加上 print() 函數(shù)輸出內容時默認會換行,所以輸出結果中會看到多出了一個空行。
不僅如此,在逐行讀取時,還可以限制最多可以讀取的字符(字節(jié))數(shù),例如:
#以二進制形式打開指定文件 f = open("my_file.txt",'rb') byt = f.readline(6) print(byt)
運行結果為:
b'Python'
和上一個例子的輸出結果相比,由于這里沒有完整讀取一行的數(shù)據(jù),因此不會讀取到換行符。
Python readlines()函數(shù)
readlines() 函數(shù)用于讀取文件中的所有行,它和調用不指定 size 參數(shù)的 read() 函數(shù)類似,只不過該函數(shù)返回是一個字符串列表,其中每個元素為文件中的一行內容。
和 readline() 函數(shù)一樣,readlines() 函數(shù)在讀取每一行時,會連同行尾的換行符一塊讀取。
readlines() 函數(shù)的基本語法格式如下:
file.readlines()
其中,file 為打開的文件對象。和 read()、readline() 函數(shù)一樣,它要求打開文件的模式必須為可讀模式(包括 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'https://www.php.cn/course/list/30.html']
感謝各位的閱讀,以上就是“python怎么讀取txt文件內容”的內容了,經(jīng)過本文的學習后,相信大家對python怎么讀取txt文件內容這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關知識點的文章,歡迎關注!