新しいファイルを開き、そのファイルにすべて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」でファイルを開いていると思います。以前の書き込みを上書きしていると思います。 appendのために 'a'を試してください。 –
また、ループ**の外で**完了したらそれをやっています。 – jonrsharpe
[ファイルをPythonでどのように追加するのですか?](http://stackoverflow.com/questions/4706499/how-do-you-append-to-a-file-in-python) –