私は、プログラムの実行のメタデータを自動的に収集するパッケージを作成しています。これには、プログラムの実行が開始され、終了する時刻も含まれます。Pythonインタプリタの起動時間
Python標準ライブラリは、フックを公開して、インタプリタの終了時にコードが自動的にatexit.register
で実行されるようにします。これを使って終了時間を記録すれば十分です。
インタプリタの実行が終了すると、およそ、対応する開始時刻はほぼインタプリタの実行開始時刻になります。
この時間はPythonモジュール内で判断できますか?
実行するコードを登録するコードもコードです。インタプリタが起動する前にコードを実行することはできません。だから、何らかの時間旅行がなくても、それがどうなるかはわかりません... IMOを得ることができるのは、モジュールに時間を記録して、そのモジュールをロードオーダーの非常に早い段階にすることです。 – Amadan
@Amadan確かに、それは正確な打ち上げ時間でなければ大丈夫です。私が探しているのは、インタラクティブなインタプリタのためのPYTHONSTARTUPのようなフックか、sys.argvのような変数です。理想的には、記録された時間は、ソースコード内のパッケージインポートの発生とは独立している必要があります。 –