【发布时间】:2017-07-19 22:56:05
【问题描述】:
我正在编写一个包,它会自动收集程序执行元数据,包括程序执行开始和终止的时间。
Python 标准库公开了一个钩子,让代码在解释器终止时通过atexit.register 自动运行。使用它来记录终止时间足以满足我的需求。
由于这种方法将大致记录解释器执行终止的时间,我希望相应的开始时间大约是解释器执行开始的时间。
是否可以在 Python 模块中确定这个时间?
【问题讨论】:
-
注册一些代码运行的代码也是代码。在解释器启动之前,您不能运行代码。因此,如果没有某种时间旅行,不知道这怎么可能……您可以获得的最接近 IMO 的方法是在模块中记录时间,并将该模块设置为在加载顺序中非常早……
-
@Amadan 当然,如果不是准确的发布时间也没关系。我正在寻找的是用于交互式解释器的 PYTHONSTARTUP 之类的钩子,或者 sys.argv 之类的变量。理想情况下,记录的时间应该与源代码中包导入的发生无关。
标签: python