2015-05-14 22 views
1

,而我無法對這一計劃的編寫代碼重讀文件它。我在網上研究過這些,但沒有發現任何有用或可理解的東西。任何幫助,將不勝感激。謝謝。製作的Python程序運行

+1

'addressbook.seek(0)'將把文件光標重新放在開頭。你也可以通過'addressbook.seek(addressbook.tell() - len(line))'從你現在的位置向後尋找一行。但是我不確定你在這裏問的是什麼,你想重新讀取整個文件嗎?爲什麼呢?你已經在變量'line'中存儲了你正在比較的實際行? – Torxed

+0

您正在閱讀文件中的一行。如果有多條線需要使用readlines()或者在一個循環中順序讀取並分別在每一行中搜索。 – smichak

回答

0

的問題是,使用的是.readline()從文件讀取只有一行讀取整個文件你有2個選項:.read().readlines()

.read()方法 它讀取內容在一次去的文件,並返回一個字符串與所有的轉義字符和空格保存。

.readlines() 它讀取文件,並返回的,其元素split()在每個新行該文件的內容的列表。

#opening a file 

addressbook = open("h:/A453/Address Book/AddressBook1.txt","r+") 

line = addressbook.read() 

searchdata = input("Please enter the surname you are looking for ") 

if searchdata in line: 
    print(line) 
+0

如果我把維克斯放在我的文件中的姓氏上,它會輸出一切,只是分開。我怎樣才能讓威格士的細節只被輸出而不是其他的? –