Python fileinput模塊使用介紹
fileinput模塊提供處理一個(gè)或多個(gè)文本文件的功能,可以通過使用for循環(huán)來讀取一個(gè)或多個(gè)文本文件的所有行。它的工作方式和readlines很類似,不同點(diǎn)在于它不是將全部的行讀到列表中而是創(chuàng)建了一個(gè)xreadlines對象。
下面是fileinput模塊中的常用函數(shù):
input() #返回能夠用于for循環(huán)遍歷的對象 filename() #返回當(dāng)前文件的名稱 lineno() #返回當(dāng)前已經(jīng)讀取的行的數(shù)量(或者序號(hào)) filelineno() #返回當(dāng)前讀取的行的行號(hào) isfirstline() #檢查當(dāng)前行是否是文件的第一行
創(chuàng)建測試文件test.txt:
# cat > test.txt << EOF
Hello,Python
www.dbjr.com.cn
This is a test file
EOF
利用fileinput實(shí)現(xiàn)文件內(nèi)容替換,如:file_input.p(注意文件名,別寫成fileinput.py)
#!/usr/bin/env python import fileinput for line in fileinput.input('test.txt',backup='_bak',inplace=1): print line.replace('Python','LinuxEye'), fileinput.close()
inplace=1:標(biāo)準(zhǔn)輸出會(huì)被重定向到打開文件;backup='_bak',:替換文件內(nèi)容之前備份后綴以_bak結(jié)尾;另外,在調(diào)用fileinput.input()之后記得要fileinput.close()。
執(zhí)行結(jié)果如下:
# python file_input.py #執(zhí)行file_input.py # ls test.txt* test.txt test.txt_bak # cat test.txt Hello,LinuxEye www.dbjr.com.cn This is a test file # cat test.txt_bak Hello,Python www.dbjr.com.cn This is a test file
其他測試:
>>> import fileinput >>> for line in fileinput.input('test.txt'): ... print fileinput.filename(),fileinput.lineno(),fileinput.filelineno() ... test.txt 1 1 test.txt 2 2 test.txt 3 3
>>> import fileinput >>> for line in fileinput.input('test.txt'): ... if fileinput.isfirstline(): ... print line, ... else: ... break ... Hello,LinuxEye
相關(guān)文章
零基礎(chǔ)學(xué)習(xí)python偏函數(shù)語法的推導(dǎo)方法步驟
這篇文章主要介紹了零基礎(chǔ)學(xué)習(xí)python偏函數(shù)語法的推導(dǎo)方法步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Python進(jìn)度條實(shí)時(shí)顯示處理進(jìn)度的示例代碼
本篇文章主要介紹了Python進(jìn)度條實(shí)時(shí)顯示處理進(jìn)度的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-01-01python+tkinter編寫電腦桌面放大鏡程序?qū)嵗a
這篇文章主要介紹了Python+tkinter編寫電腦桌面放大鏡程序?qū)嵗a,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01Matplotlib子圖的創(chuàng)建的實(shí)現(xiàn)
本文主要介紹了Matplotlib子圖的創(chuàng)建的實(shí)現(xiàn),包括fig.add_axes()創(chuàng)建子圖和plt.axes創(chuàng)建子圖這兩種方法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11pandas實(shí)現(xiàn)手機(jī)號(hào)號(hào)碼中間4位匿名化的示例代碼
本文主要介紹了pandas實(shí)現(xiàn)手機(jī)號(hào)號(hào)碼中間4位匿名化的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08python使用Tesseract庫識(shí)別驗(yàn)證
這篇文章主要為大家詳細(xì)介紹了python使用Tesseract庫識(shí)別驗(yàn)證,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03