2012-01-17 16 views
11

私はクライアント/サーバアプリケーションを開発しており、サーバにログインしているので、私はロギングモジュールを使用します。私はファイルをクリアするためのコマンドをサーバーに作成したいと思います。Python:ログファイルを消去する

os.remove()でテストしましたが、その後ログが機能しません。

アイデアはありますか?

ありがとうございました。

+0

このログはデーモンプロセスによって書き込まれていますか?デーモンに、ログファイルが削除されたので、ログファイルハンドルをクローズ/再オープンし、新しいログファイルの使用を開始できるように通知する必要があります。さもなければ、それは古いものに書き続けます。古いものは、その上のすべてのファイルハンドルが閉じられるまで、まだどこかに存在します。 –

+1

'' mode = "w" 'を[' logging.FileHandler'](https://docs.python.org/2/library/logging.handlers.html#filehandler)に与えます。 –

答えて

27

ファイルを削除する代わりに切り捨てる方がよい場合があります。最も簡単な解決策は、あなたの決済機能からの書き込みのためにファイルを再度開くと、それを閉じることである。

file.truncate()は必要ありません。

with open('yourlog.log', 'w'): 
    pass 
+0

タクス、それは素晴らしい作品! – Guillaume

3

この

>>> with open("gre.txt", "w") as file: 
... file.truncate() 
... 
>>> 

UPDATEを試してみてください。あなただけでもpass

+1

あなたは基本的にnewtoverの答えを複製しました – Purefan

関連する問題