我已經盡了全力來打印我的文本文件中的所有內容中的所有內容。但我仍然無法理解錯在哪裏。這裏是我的代碼:(蟒蛇)不能打印的文本文件
Input = input("TYPE: ")
with open("tryme.txt","a+") as f:
f.write(Input + "\n\n\n")
x = f.read()
print(x)
我已經盡了全力來打印我的文本文件中的所有內容中的所有內容。但我仍然無法理解錯在哪裏。這裏是我的代碼:(蟒蛇)不能打印的文本文件
Input = input("TYPE: ")
with open("tryme.txt","a+") as f:
f.write(Input + "\n\n\n")
x = f.read()
print(x)
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
希望這有助於。
後寫入文件,你的讀者的當前位置是在文件的結尾。如果你想閱讀整個文件,你需要返回到開始。
嘗試
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)
如果問題不大,f.seek(0,0)'的意思是什麼?第二個零的目的是什麼?無論如何,感謝您的幫助! – harthart
https://www.tutorialspoint.com/python/file_seek.htm 的'尋求()'是何處的第二個參數。它指定我們是基於當前位置,基於文件的開始,還是基於文件的結尾取得偏移量。它默認爲0,所以如果你只是想跳轉到開頭就沒有必要包含它 –
爲了進一步清晰起見,'f.seek(0,0)'表示在文件f中,從頭開始,去轉發一個0的偏移量。如果你從這個位置寫下你正在提交的文件,並且如果你讀了,你可以閱讀那個位置之後的所有內容。您可以指定文件中的任何位置。如果你想要結束你可以做'f.seek(0,2)'或者如果你想在當前位置f.seek(n,1)' –
幫助很大!謝謝,我今天學到了一些新東西。 – harthart