溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python中怎么讀取文本文件的內(nèi)容

發(fā)布時間:2021-07-05 14:58:52 來源:億速云 閱讀:506 作者:Leah 欄目:大數(shù)據(jù)

Python中怎么讀取文本文件的內(nèi)容,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

1 打開文件

文本操作可以想象成對水池進(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等。

 

2 read()

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))
   

3 readline()

如果我們需要每次只讀取一行內(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)
   

3 readlines()

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è)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(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)容。

AI