Python利用逐行讀取readline()打印出現空行的解決辦法


在利用readline()進行逐行讀取文件的時候,我們一般使用以下程序:

f=open("wenjian","r")
while True:
    fa=f.readline()
    if fa == '':
        break
    print(fa)

f.close()

這個程序的if語句fa == ''后面這個單引號里是沒有blank space,也就是沒有空格的,因為這里表示的是如果文件讀取一直讀到沒有空間了,則停止這個循環,如果這個引號里有空間的話,那么一旦遇到有空格的地方,文件的讀取就會停止。這是我們不想要的,我們想要的是逐行進行讀取。

我們用於測試用的文件文件名為"wenjian",因為我是在linux下創建的這個文件因此不需要在后面加上txt的后綴,win下則需要加上后綴,這個文件里的數據如下:

可見,每一行當中既有字母也有數字,且字母和數字用一個空格分隔開,如果用剛才的這個程序進行逐行讀取的話,輸出如下:

 

 我們的輸出果然是每輸出一行,就會空一行,這讓本想要進行逐行輸出的我感到十分困惑,我們該如何解決這個辦法呢?也就是在輸出的print()函數后,加入一個end=""的參數就可以避免這個問題,進行不空行的輸出了,加入參數后的程序如下;

f=open("wenjian","r")

while True:
    fa=f.readline()
    if fa=="":
        break
    print(fa,end="")
f.close()

最后輸出的結果是:

 

 這樣我們就可以看到這個輸出結果和文件里的數據一模一樣啦!每一行之間是沒有空行的

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM