所以我試圖打開一個新文件,並向該文件中寫入所有n
的值。將整數寫入新文件
for n in [4, 7, 8, 10, 6, 3, 5, 13]:
if n > 5:
print(n)
b = open('new', 'w')
b.write(n)
它作爲一個字符串寫入的數字,僅在13
,最後n
寫道。
所以我試圖打開一個新文件,並向該文件中寫入所有n
的值。將整數寫入新文件
for n in [4, 7, 8, 10, 6, 3, 5, 13]:
if n > 5:
print(n)
b = open('new', 'w')
b.write(n)
它作爲一個字符串寫入的數字,僅在13
,最後n
寫道。
你只打印的最後一個值。所以你只能得到結果13.你必須在for循環中寫入值。
b = open('new', 'w')
for n in [4, 7, 8, 10, 6, 3, 5, 13]:
if n > 5:
print(n)
b.write(n)
'write ()'期待一個字符緩衝區對象,即使你沒有關閉文件,本地運行然後發佈! – wolframalpha
謝謝你的作品。 – Ben
修改後的代碼:
with open('new', 'w') as outfile:
for n in [4, 7, 8, 10, 6, 3, 5, 13]:
if n > 5:
print(n)
outfile.write(str(n))
或(不推薦)
for n in [4, 7, 8, 10, 6, 3, 5, 13]:
if n > 5:
print(n)
b = open('new', 'a') # append mode
b.write(str(n))
b.close()
我想你打開文件,'w',意思是「寫」,而你覆蓋以前寫你做的那個文件。嘗試一下'a'來追加,我想。 –
也可以在循環**之外完成**。 – jonrsharpe
可能重複的[你如何在Python中添加文件?](http://stackoverflow.com/questions/4706499/how-do-you-append-to-a-file-in-python) –