在利用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()
最后輸出的結果是:
這樣我們就可以看到這個輸出結果和文件里的數據一模一樣啦!每一行之間是沒有空行的