1
,而我無法對這一計劃的編寫代碼重讀文件它。我在網上研究過這些,但沒有發現任何有用或可理解的東西。任何幫助,將不勝感激。謝謝。製作的Python程序運行
,而我無法對這一計劃的編寫代碼重讀文件它。我在網上研究過這些,但沒有發現任何有用或可理解的東西。任何幫助,將不勝感激。謝謝。製作的Python程序運行
的問題是,使用的是.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)
如果我把維克斯放在我的文件中的姓氏上,它會輸出一切,只是分開。我怎樣才能讓威格士的細節只被輸出而不是其他的? –
'addressbook.seek(0)'將把文件光標重新放在開頭。你也可以通過'addressbook.seek(addressbook.tell() - len(line))'從你現在的位置向後尋找一行。但是我不確定你在這裏問的是什麼,你想重新讀取整個文件嗎?爲什麼呢?你已經在變量'line'中存儲了你正在比較的實際行? – Torxed
您正在閱讀文件中的一行。如果有多條線需要使用readlines()或者在一個循環中順序讀取並分別在每一行中搜索。 – smichak