2017-02-26 71 views

回答

2

a+打開讀取和附加(在文件的末尾寫入)。如果文件不存在,則會創建文件 。讀取 的初始文件位置位於文件的開頭,但輸出始終附加到文件的末尾 。

您應該使用f.seek()將文件偏移量設置爲文件的開頭。

with open("tryme.txt","a+") as f: 
    f.write(Input + "\n\n\n") 
    f.seek(0) 
    x = f.read() 
    print(x) 

輸出:

TYPE: test2 
test1 


test2 

希望這有助於。

+0

幫助很大!謝謝,我今天學到了一些新東西。 – harthart

1

後寫入文件,你的讀者的當前位置是在文件的結尾。如果你想閱讀整個文件,你需要返回到開始。

嘗試

Input = input("TYPE: ") 

with open("tryme.txt","a+") as f: 
    f.write(Input + "\n\n\n") 
    f.seek(0,0) 
    x = f.read() 
    print(x) 
+0

如果問題不大,f.seek(0,0)'的意思是什麼?第二個零的目的是什麼?無論如何,感謝您的幫助! – harthart

+0

https://www.tutorialspoint.com/python/file_seek.htm 的'尋求()'是何處的第二個參數。它指定我們是基於當前位置,基於文件的開始,還是基於文件的結尾取得偏移量。它默認爲0,所以如果你只是想跳轉到開頭就沒有必要包含它 –

+0

爲了進一步清晰起見,'f.seek(0,0)'表示在文件f中,從頭開始,去轉發一個0的偏移量。如果你從這個位置寫下你正在提交的文件,並且如果你讀了,你可以閱讀那個位置之後的所有內容。您可以指定文件中的任何位置。如果你想要結束你可以做'f.seek(0,2)'或者如果你想在當前位置f.seek(n,1)' –