python中的文件,通常是用read()方法來讀取。
如果程序要讀取行,通常只能用文本方式來讀取,道理很簡單,只有文本文件才有行的概念,二進制文件沒有所謂行的概念。
文件對象提供了如下兩個方法來讀取行:
readline([n]):讀取一行內(nèi)容。如果指定了參數(shù)n,則只讀取此行內(nèi)的n個字符。
readlines():讀取文件內(nèi)所有行。
下面程序示范了使用readline()方法來讀取文件內(nèi)容:
importcodecs
#指定使用utf-8字符集讀取文件內(nèi)容
f=codecs.open("readline_test.py",'r','utf-8',buffering=True)
whileTrue:
#每次讀取一行
line=f.readline()
#如果沒有讀到數(shù)據(jù),跳出循環(huán)
ifnotline:break
#輸出line
print(line,end='')
f.close()
上面程序使用UTF-8字符集打開readline_test.py文件,這是由于該Python源文件是采用UTF-8字符集保存的,因此,如果直接用普通的open()函數(shù)打開文件,則會引發(fā)UnicodeDecodeError異常。
接下來程序使用readline()方法逐行進行讀取,當讀取到結(jié)尾時,該方法將會返回空,程序就會退出循環(huán)。
程序也可以使用readlines()方法一次讀取文件內(nèi)所有行。例如如下程序:
importcodecs
#指定使用utf-8字符集讀取文件內(nèi)容
f=codecs.open("readlines_test.py",'r','utf-8',buffering=True)
#使用readlines()讀取所有行,返回所有行組成的列表
for1inf.readlines():
print(1,end='')
f.close()
以上內(nèi)容為大家介紹了python培訓之怎么提取txt中的幾行,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓機構(gòu):千鋒教育。