您好,登錄后才能下訂單哦!
Python中怎么讀取文本文件的內(nèi)容,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
文本操作可以想象成對水池進(jìn)行加水和排水。文本文件就好比一個存儲水的水池,數(shù)據(jù)就類似水。從文本文件中讀取數(shù)據(jù)好比讓水池排水。在這過程中,我們需要一條“管道”才能從讀取到數(shù)據(jù)。在 Python 語言中,open() 函數(shù)就是這樣的“管道”。當(dāng) open() 函數(shù)成功打開文件后,我們會得到一個 file 對象。
file = open('One Day.txt', 'r')
但是操作文件經(jīng)常會出現(xiàn)各種異常,例如文件不存在,文件不具備可讀屬性等。因此,我們需要做異常處理工作。這里推薦使用 with
語句,其內(nèi)部已經(jīng)實現(xiàn)異常處理相關(guān)的邏輯。另外還有一個好處,我們還可以不用調(diào)用 close()
函數(shù)來關(guān)閉文件。
with open('One Day.txt', 'r') as file:
pass
open() 函數(shù)的第二個參數(shù)是打開模式??梢允侵蛔xr
,寫入w
,追加a
、以二進(jìn)制形式讀取rb
等。
read() 函數(shù)讀取數(shù)據(jù)方式有點暴力。它是一次性將文件的全部內(nèi)容讀取到內(nèi)存中。如果文件太多的話,會把內(nèi)存給撐爆。為了保險起見,我們通常每次只讀取一小段區(qū)間內(nèi)容,然后反復(fù)調(diào)用。
# -*- coding:utf-8 -*-
size = 1024
with open('one day.txt', 'r') as file:
print(file.read(size))
如果我們需要每次只讀取一行內(nèi)容,則需要用到readline()
函數(shù)。這種讀取方式雖然效率不高,但是占用內(nèi)存小,能做到即讀即用。
# -*- coding:utf-8 -*-
import time
with open('one day.txt', 'r') as file:
for line in file:
# realine() 讀取整行內(nèi)容,包括 "\n" 字符
print(file.readline().strip())
time.sleep(1)
realines()
函數(shù)跟read()
類似,會一次性讀取所有內(nèi)容,然后按行返回一個 list 對象。這種讀取方式速度會比較快。但隨著文本的增大,占用內(nèi)存會越來越多。一般讀取配置文件,可以使用這種方法。
# -*- coding:utf-8 -*-
import time
with open('one day.txt', 'r') as file:
for line in file.readlines():
print(line.strip())
time.sleep(1)
看完上述內(nèi)容,你們掌握Python中怎么讀取文本文件的內(nèi)容的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。