datetimeモジュールを使う方法
datetimeのnow()関数現在時刻を取得して、isoformat()関数で文字列化して出力する。
from datetime import datetime as dt
print(dt.now().isoformat() + "1番目の処理です")
これを実行すると以下のようになる。
2024-01-25T18:54:23.2070421番目の処理です
楽して既存のprint関数全部タイムスタンプが出るようにしたい
既に存在するprint関数すべてにいちいちdt.now().isoformat() を追加するのがめんどくさい時に私がやる小ネタ。
対象のファイル先頭でprint関数を上書きしてしまう。
from datetime import datetime as dt
# ファイル先頭でこんな感じでprint関数を上書きしてしまう
print_origin = print # 元のprint関数を取っておく
def print(msg):
print_origin(dt.now().isoformat() + msg)
# ↓既存のコード
print("1番目の処理です")
print("2番目の処理です")
print("3番目の処理です")
print("4番目の処理です")
print("5番目の処理です")
これを実行すると以下のように何もしていないprint関数にもタイムスタンプが付く。
2024-01-25T18:30:05.6077701番目の処理です
2024-01-25T18:30:05.6087692番目の処理です
2024-01-25T18:30:05.6097683番目の処理です
2024-01-25T18:30:05.6097684番目の処理です
2024-01-25T18:30:05.6107685番目の処理です
この方法はファイル単位でprint関数を上書きしているので、おおもとのprint関数をオーバーライドするような感覚で全ファイルまとめて変えたい場合は、多分標準ライブラリのロードをしているところをなんとかすると良いんじゃないかな。