Python 包装脚本来测量另一个 python 文件的执行时间

Python wrapper script to measure execution time of another python file

如何制作一个 python 包装脚本来测量另一个脚本或另一个 .py 文件的执行时间?

可以使用定时器模块

from timeit import default_timer as timer
start = timer()
function_you_want_to_time()
# or import your script here
# import script_to_time
end = timer()
elapsed = str(end - start)
print(f'Run time in seconds: {elapsed}')

我最近有一个类似的问题要解决,我的解决方案是编写一个可导入的模块,我可以通过 import MyModule 调用它,它会捕获脚本执行时间以及任何运行时异常,然后将结果推送到数据仓库。

我的解决方案是这样的

import MyModule

def main():
    print("do work")

if __main__ == '__main__':
    try:
        main()
    except Exception as e:
        MyModule.script.script_execution(e)
    else:
        MyModule.script.script_execution()

MyModule 会喜欢这样的东西

MyModule.__init__.py

from datetime import datetime


class ScriptExeuction:
    def __init__(self):
        self.start_time = datetime.now()

    def script_execution(self, exception=None):
        self.end_time = datetime.now()
        print(f"Execution took {self.end_time - self.start_time}")


if __name__ == '__main__':
    pass
else:
    script = ScriptExeuction()

当然,您需要扩展它以将数据放在您想要的位置,但您可以轻松地扩展 ScriptExecution class 来处理将数据推送到某处的逻辑,并且您可以捕获发生的异常在脚本中。