0

私はPythonを少しいじっています。いくつかのイベントが発生した日時を追跡したいと思います。今のところ、コンソールへの出力は問題なく動作します。

現在、私はそれを次のように処理しています:

まず、括弧で囲まれたフォーマットされた日付/時刻を取得します。

def get_date_time():
  now = datetime.datetime.now().strftime("%Y/%m/%d %I:%M:%S")
  return "[" + now + "]"

次に、アクションを「記録」したいときはいつでも、次のように呼び出します。

print(get_date_time(), "Outputting whatever text here")

このようにすると何か問題がありますか?それを行うためのより効率的/クリーンな方法はありますか? ないかもしれませんが、気になるところです。

4

2 に答える 2

5

すべての問題について。あなたが何かを繰り返しているなら、あなたはそれを間違っています。

あなたの質問に対して; 関数にするだけで、次のようなものになります。

def log(s):
    print(get_date_time(), s)

または、より大きなプロジェクトの場合は、ログモジュールを使用します。

于 2013-10-18T19:23:23.170 に答える
2

はい、Python ロギング モジュールを使用します。http://docs.python.org/2/library/logging.html

必要に応じて、すべてのログをフォーマットして日時を出力できます。

import logging

logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s %(levelname)s %(message)s',
                    filename='/tmp/myapp.log',
                    filemode='w')
logging.debug('A debug message')

版画

2004-07-02 13:00:08,743 DEBUG A debug message

ここに見られるようにhttp://docs.python.org/2.4/lib/minimal-example.html

日時をフォーマットする場合は、logging.formatter() を使用します。

于 2013-10-18T19:36:35.153 に答える