4

私はしばらくこれに問題を抱えています。Pythonでファイルを開いて書き込みを続行し、以前に書き込んだファイルを上書きしないようにするにはどうすればよいですか?

例えば:

以下のコードは、「出力はOKです」と記述します。次に、次の数行で上書きされ、「DONE」になります。

しかし、私は両方のファイルが必要です'出力はOKです''完了'

f = open('out.log', 'w+')
f.write('output is ')
# some work
s = 'OK.'
f.write(s)
f.write('\n')
f.flush()
f.close()
# some other work
f = open('out.log', 'w+')
f.write('done\n')
f.flush()
f.close()

自由に開いて、間隔を置いて書き込めるようにしたいと思います。それを閉じます。次に、このプロセスを何度も繰り返します。

助けてくれてありがとう:D

4

5 に答える 5

12

追加モードでファイルを開きます。存在しない場合は作成され、存在する場合はさらに書き込むために最後に開かれます。

with open('out.log', 'a') as f:
    f.write('output is ')
    # some work
    s = 'OK.'
    f.write(s)
    f.write('\n')

# some other work
with open('out.log', 'a') as f:
    f.write('done\n')
于 2012-11-16T07:57:22.260 に答える
2

最初の書き込みの後、ファイルのコンテンツにテキストをf = open('out.log', 'a')追加するために使用する必要があります。

于 2012-11-16T07:58:11.890 に答える
2
with open("test.txt", "a") as myfile:
    myfile.write("appended text")
于 2012-11-16T07:59:39.317 に答える
2

ファイルを開いてコンテンツを追加するときに、引数として「a」を渡すだけです。ドキュメントを見る

f = open('out.log', 'a')
于 2012-11-16T07:57:31.003 に答える
2

2 回目は追加モードでファイルを開く必要があります。

f = open('out.log', 'a')

書き込みモードでファイルを開くたびに、ファイルの内容が消去されるためです。

于 2012-11-16T07:58:04.873 に答える