Python如何實(shí)現(xiàn)逐行讀取文本文件
在Python 中有幾種方法可以讀取文本文件。
在本文中,我將介紹?open()?函數(shù)、read()?方法、readline()?方法、readlines()?方法、close()?方法和?with?關(guān)鍵字。
Python 中的 open() 函數(shù)是什么
如果要在 Python 中讀取文本文件,首先必須打開(kāi)它。
這是 Python 的?open()?函數(shù)的基本語(yǔ)法:
open("name of file you want opened", "optional mode")
文件名和正確路徑
open("demo.txt")
如果文本文件和你當(dāng)前的文件在同一目錄(“文件夾”)中,那么你只需在?open()?函數(shù)中引用文件名即可。
以下是兩個(gè)文件位于同一目錄中的示例:
如果你的文本文件位于不同的目錄中,則你需要引用文本文件的正確路徑名。
在此示例中,random-text?文件位于與?main.py?不同的文件夾中:
為了在?main.py?中訪(fǎng)問(wèn)該文件,你必須在文件名中包含文件夾名稱(chēng)。
open("text-files/random-text.txt")
如果你沒(méi)有正確的文件路徑,那么你將收到如下錯(cuò)誤消息:
open("random-text.txt")
跟蹤你所在的目錄非常重要,這樣你可以引用正確的路徑名。
open()?中的可選模式參數(shù)
處理文件時(shí)有不同的模式。默認(rèn)模式是讀取模式。
字母?r?代表讀取模式。
open("demo.txt", mode="r")
你也可以省略?mode=,只用?"r"。
open("demo.txt", "r")
還有其他類(lèi)型的模式,例如用于寫(xiě)入的?"w"?或用于追加的?"a"。我不會(huì)詳細(xì)介紹其他模式,因?yàn)槲覀冎粫?huì)專(zhuān)注于讀取文件。
有關(guān)其他模式的完整列表,請(qǐng)閱讀文檔。
Python 中?open()?函數(shù)的其他參數(shù)
open()?函數(shù)可以接收其他可選參數(shù):
- buffering
- encoding
- errors
- newline
- closefd
- opener
閱讀文檔了解更多參數(shù)。
Python 中的 readable() 方法
如果要檢查文件是否可以讀取,則可以使用?readable()?方法。這將返回?True?或?False。
此示例將返回?True,因?yàn)槲覀兲幱谧x取模式:
file = open("demo.txt") print(file.readable())
如果我將此示例更改為?"w"(寫(xiě)入)模式,則?readable()?方法將返回?False:
file = open("demo.txt", "w") print(file.readable())
Python 中的 read() 方法
read()?方法會(huì)將文件的所有內(nèi)容作為一個(gè)字符串讀取。如果文本文件中的內(nèi)容不多,這是一個(gè)很好的方法。
在本例中,我使用?read()?方法從?demo.txt?文件中打印出名稱(chēng)列表:
file = open("demo.txt") print(file.read())
此方法可以接收一個(gè)名為 size 的可選參數(shù)。不是讀取整個(gè)文件,而是只讀取其中的一部分。
如果我們修改前面的例子,可以通過(guò)添加數(shù)字 4 作為?read()?的參數(shù),只打印出第一個(gè)單詞。
file = open("demo.txt") print(file.read(4))
如果省略 size 參數(shù),或者數(shù)字為負(fù)數(shù),則將讀取整個(gè)文件。
Python 中的 close() 方法
完成讀取文件后,關(guān)閉它很重要。如果你忘記關(guān)閉文件,則可能會(huì)導(dǎo)致問(wèn)題。
這是如何關(guān)閉?demo.txt?文件的示例:
file = open("demo.txt") print(file.read()) file.close()
如何使用 with 關(guān)鍵字在 Python 中關(guān)閉文件
確保文件關(guān)閉的一種方法是使用?with?關(guān)鍵字。這被認(rèn)為是一種很好的做法,因?yàn)槲募?huì)自動(dòng)關(guān)閉,而你不必手動(dòng)關(guān)閉它。
以下是如何使用?with?關(guān)鍵字重寫(xiě)我們的示例:
with open("demo.txt") as file: print(file.read())
Python 中的 readline() 方法
此方法將從文件中讀取一行并返回。
在這個(gè)例子中,我們有一個(gè)包含這兩個(gè)句子的文本文件:
This is the first line This is the second line
如果我們使用?readline()?方法,它只會(huì)打印文件的第一句話(huà)。
with open("demo.txt") as file: print(file.readline())
此方法還接受可選的 size 參數(shù)。我們可以修改例子,加上數(shù)字 7 來(lái)只讀取和打印出來(lái)This is:
with open("demo.txt") as file: print(file.readline(7))
Python 中的 readlines() 方法
此方法將讀取并返回文件中所有行的列表。
在此示例中,我們將使用?readlines()?方法將雜貨項(xiàng)目打印為列表。
with open("demo.txt") as file: print(file.readlines())
如何使用 for 循環(huán)從 Python 中的文件中讀取行
這些不同讀取方法的替代方法是使用?for?循環(huán)。
在這個(gè)例子中,我們可以通過(guò)循環(huán)對(duì)象打印出?demo.txt?文件中的所有項(xiàng)目。
with open("demo.txt") as file: for item in file: print(item)
總結(jié)
如果要在 Python 中讀取文本文件,首先必須打開(kāi)它。
open("name of file you want opened", "optional mode")
如果文本文件和你當(dāng)前的文件在同一目錄(“文件夾”)中,那么你只需在?open()?函數(shù)中引用文件名即可。
如果你的文本文件位于不同的目錄中,則你需要引用文本文件的正確路徑名。
open()?函數(shù)接受可選的 mode(模式)參數(shù)。默認(rèn)模式是讀取模式。
open("demo.txt", "r")
如果要檢查文件是否可以讀取,則可以使用?readable()?方法。這將返回?True?或?False。
file.readable()
read()?方法會(huì)將文件的所有內(nèi)容作為一個(gè)字符串讀取。
file.read()
完成讀取文件后,關(guān)閉它很重要。如果你忘記關(guān)閉文件,則可能會(huì)導(dǎo)致問(wèn)題。
file.close()
確保文件關(guān)閉的一種方法是使用?with?關(guān)鍵字。
with open("demo.txt") as file: print(file.read())
readline()?方法將從文件中讀取一行并返回。
file.readline()
readlines()?方法將讀取并返回文件中所有行的列表。
file.readlines()
這些不同讀取方法的替代方法是使用?for?循環(huán)。
with open("demo.txt") as file: for item in file: print(item)
以上就是Python如何實(shí)現(xiàn)逐行讀取文本文件的詳細(xì)內(nèi)容,更多關(guān)于Python逐行讀取文本文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
pandas去重復(fù)行并分類(lèi)匯總的實(shí)現(xiàn)方法
這篇文章主要介紹了pandas去重復(fù)行并分類(lèi)匯總的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01python根據(jù)經(jīng)緯度計(jì)算距離示例
這篇文章主要介紹了python根據(jù)經(jīng)緯度計(jì)算距離示例, 計(jì)算兩點(diǎn)之間距離,需要的朋友可以參考下2014-02-02聊聊python在linux下與windows下導(dǎo)入模塊的區(qū)別說(shuō)明
這篇文章主要介紹了聊聊python在linux下與windows下導(dǎo)入模塊的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03pyside+pyqt實(shí)現(xiàn)鼠標(biāo)右鍵菜單功能
這篇文章主要為大家詳細(xì)介紹了pyside+pyqt實(shí)現(xiàn)鼠標(biāo)右鍵菜單功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02python 中xpath爬蟲(chóng)實(shí)例詳解
這篇文章主要介紹了python實(shí)例:xpath爬蟲(chóng)實(shí)例,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08使用Python實(shí)現(xiàn)保存剪貼板中的圖像
這篇文章主要為大家詳細(xì)介紹了如何使用Python創(chuàng)建一個(gè)簡(jiǎn)單的GUI應(yīng)用程序,實(shí)現(xiàn)保存剪貼板中的圖像功能,文中的示例代碼講解詳細(xì),需要的可以參考下2023-09-09基于Python實(shí)現(xiàn)隨機(jī)點(diǎn)名系統(tǒng)的示例代碼
在某些難以抉擇得時(shí)候,我們經(jīng)常要用外力來(lái)幫助我們做出選擇,比如,梁山出征方臘前沙場(chǎng)點(diǎn)兵,挑選先鋒的場(chǎng)景。所以本文就來(lái)用Python做個(gè)隨機(jī)點(diǎn)名系統(tǒng)吧,需要的可以參考一下2023-04-04一文教會(huì)你用Python實(shí)現(xiàn)pdf轉(zhuǎn)word
python實(shí)現(xiàn)pdf轉(zhuǎn)word,支持中英文轉(zhuǎn)換,轉(zhuǎn)換精度高,可以達(dá)到使用效果,下面這篇文章主要給大家介紹了關(guān)于用Python實(shí)現(xiàn)pdf轉(zhuǎn)word的相關(guān)資料,需要的朋友可以參考下2023-01-01python實(shí)戰(zhàn)之Scrapy框架爬蟲(chóng)爬取微博熱搜
前面講解了Scrapy中各個(gè)模塊基本使用方法以及代理池、Cookies池。接下來(lái)我們以一個(gè)反爬比較強(qiáng)的網(wǎng)站新浪微博為例,來(lái)實(shí)現(xiàn)一下Scrapy的大規(guī)模爬取。2021-09-09