65

Pythonを使用して、単純なプログラムで読み取られる数行のテキストを含むtxtファイルを既に作成しました。ただし、ファイルを再度開いて、プログラムの後半でファイルに追加の行を書き込むのに問題があります。(行は、後で取得したユーザー入力から書き込まれます。)

with open('file.txt', 'w') as file:
    file.write('input')

これは、「file.txt」が以前に開かれて書き込まれていることを前提としています。ただし、これを 2 回目に開くと、現在のコードでは、以前に書き込まれたものをすべて消去し、新しい行を書き直す必要があります。これが起こらないようにする方法はありますか (そして、ファイルを再度開くという過剰なコードを削減する可能性があります)?

4

3 に答える 3

70

ファイルに追加する場合は、 で開きます'a'。行を挿入する場所を見つけるためにファイルをシークする場合は、 を使用します'r+'。(ドキュメント)

于 2012-05-17T17:49:06.247 に答える
67

「書き込み」ではなく「追加」のためにファイルを開きます。

with open('file.txt', 'a') as file:
    file.write('input')
于 2012-05-17T17:50:19.480 に答える
16

使用'a''a'手段append。属性で開かれたファイルに書き込まれる'a'ものはすべて、ファイルの最後に書き込まれます。

with open('file.txt', 'a') as file:
    file.write('input')
于 2012-05-17T17:50:59.490 に答える