open
を使用する必要があります w+
で モード:
file = open('myfile.dat', 'w+')
次のアプローチの利点は、ファイルが適切に閉じられることです。 途中で例外が発生した場合でも、ブロックの最後に。 try-finally
に相当します 、しかしずっと短い。
with open("file.dat","a+") as f:
f.write(...)
...
<ブロック引用> a+ 追加と読み取りの両方のためにファイルを開きます。ファイルが存在する場合、ファイル ポインタはファイルの末尾にあります。ファイルが追加モードで開きます。ファイルが存在しない場合は、読み書き用に新しいファイルを作成します。 -Python ファイル モード
seek() メソッドは、ファイルの現在位置を設定します。
f.seek(pos [, (0|1|2)])
pos .. position of the r/w pointer
[] .. optionally
() .. one of ->
0 .. absolute position
1 .. relative position to current
2 .. relative position from end
<ブロック引用> 「rwab+」文字のみが許可されます。 「rwa」の 1 つだけが存在する必要があります - スタック オーバーフローの質問 Python ファイル モードの詳細 を参照してください .
以下を使用することをお勧めします:
import os
writepath = 'some/path/to/file.txt'
mode = 'a' if os.path.exists(writepath) else 'w'
with open(writepath, mode) as f:
f.write('Hello, world!\n')