1

このコードは私にとってはうまくいきます。最後にデータを追加します。

def writeFile(dataFile, nameFile):
    fob = open(nameFile,'a+')
    fob.write("%s\n"%dataFile)
    fob.close()

しかし、問題は、プログラムを閉じてから再度実行すると、以前のデータがすべて失われていることがわかりました。プロセスは最初から書き込みを開始し、ファイルにはデータがありません。

しかし、実行中にファイルの最後に行を完全に追加します。

問題がわかりません。誰か助けてください。

注意:Python 2.6でUbuntu-10.04を使用しています

4

1 に答える 1

1

ここに投稿したコードに問題はありません...このファイルはおそらくコードの他の場所で上書きされているという他のコメントに同意する傾向があります。

これを明示的にテストするために私が考えることができる唯一の提案 (ユースケースが許容できる場合) は、関数の最後に exit() ステートメントを挿入し、ファイルを外部 (別名 gedit) で開き、最後の変更が行われました。

終了する代わりに、ターミナルでプログラムを実行し、この関数の最後に pdb への呼び出しを含めて、プログラムを強制終了せずに中断することもできます。

import pdb; pdb.set_trace()

これが実行されるたびにプログラムを続行するには、c を押す必要があります。

それがチェックアウトされた場合は、このファイルが開かれている可能性のある他の場所を検索してください。

于 2013-05-03T14:50:50.863 に答える