既存のファイルをオープンして更新する処理、
ってのが結構面倒ですね、オープンするだけが、、、
f = open("filename", "a+b")
でバイナリモードで「追記」で開けると思ってたんですが、
seek のマニュアルの通り、
> ファイルを追記モード (モード 'a' または 'a+') で開いた場合、書き込みを行うまでに行ったseek() 操作はすべて元に戻されるので注意してください。
ということで、ダミー値を書いてからではないと、
他の場所の更新が出来ないみたい。
望みの処理をしたい場合、
import os
if os.path.isfile("filename"):
f = open("filename", "r+b")
else:
f = open("filename", "w+b")
とやる必要があるみたい。
何それ面倒。
No comments:
Post a Comment