首先,代碼獲取一個名稱並創建一個具有w
權限的文件(也測試了r+
),它應該在文件中寫入任何其他輸入,但它不會。我收到一個空文件。Python腳本創建一個文件,但不寫任何東西
user_name_in =input("gets Input")
fname = user_name_in
f = input()
ufile = open(fname,"w")
while True:
f=input(answer)
ufile.write(f)
首先,代碼獲取一個名稱並創建一個具有w
權限的文件(也測試了r+
),它應該在文件中寫入任何其他輸入,但它不會。我收到一個空文件。Python腳本創建一個文件,但不寫任何東西
user_name_in =input("gets Input")
fname = user_name_in
f = input()
ufile = open(fname,"w")
while True:
f=input(answer)
ufile.write(f)
正如我在評論中寫道,始終使用with
塊,因爲它需要小心處理的文件錯綜複雜,你不必擔心。現在在代碼中,你重複自己,例如前兩行實際上是一個..這就是它在清理一下時的樣子。
fname = input("gets Input")
with open(fname, "w") as ufile:
f = input('write something')
ufile.write(f)
正如別人也注意到了,answer
是從未宣佈過,也沒有終止條件和輸入提示或者是不是最好的或者完全不存在。
此代碼的工作對我來說:
user_name_in =input("gets Input")
fname = user_name_in
f = input()
ufile = open(fname,"w")
while True:
f=input(answer)
ufile.write(f)
一些注意事項: 我看不出答案聲明,無論是Python解釋器看到:P,也許你忘了粘貼此部分的代碼或事實上這是錯誤?
我不明白你爲什麼將文件的名稱分配給一個變量,然後重新分配給另一個。
如何停止寫入文件?我發現的唯一方法是Ctrl-C,這聽起來並不理想。
安撫文件被關閉時,您可以用開放(FNAME)取代它成爲ufile塊
f變量得到相同的使用,並在優化的最終代碼將被修復。有,如果在這將打破循環。我只是放置了代碼 – GeekyMo
你試過用'open(fname,'w')作爲ufile:ufile.write(f)'? – Xevaquor
添加'ufile.close()',看看是否修復它。 –
@瘋狂的你還是得'沖洗'這個文件。總是使用'with'來處理文件。 –