包装脚本,将记录另一个脚本的执行时间与参数

我有一个包装器脚本wrapper.py,可以为benchrun.py.

假设我benchrun.py使用此命令运行:

python benchrun.py --host {host} -f {testfile} -t {number of threads} -s {mongo shell path}

我应该在包装器脚本中放入什么来运行benchrun.py脚本并获取执行时间?


神不在的星期二
浏览 127回答 4
4回答

繁星淼淼

一、benchrun.pyimport datetimeprint ("sleeping now...")time.sleep(10)print ("done!") 包装:import osfrom datetime import datetime, timedeltabefore = datetime.now()os.system("python benchrun.py")after = datetime.now()print ("execution time: {0}".format(after - before))

幕布斯6054654

# timer.pyimport timedef timer():    def wrapper(f):        def wrapped_f(*args, **kwargs):            tic = time.perf_counter()  # more precise than '.clock'            f(*args, **kwargs)            toc = time.perf_counter()            method_name = f.__name__            print('{}: {:.2f}sec'.format(method_name, toc - tic))        return wrapped_f    return wrapper# benchrun.pyfrom timer import timer@timerdef benchrun():    ...

一只斗牛犬

您需要在执行前后计算时间并减少它们之间的时间,以便获得执行时间;在包装器脚本中:import time执行前:before= time.clock()执行后:after = time.clock() totaltime = after-beforetotaltime 是 benchrun.py 脚本的执行时间。

函数式编程

你在使用 os.system 来调用 benchrun.py 吗?如果是这样,只需在开始和返回后设置 datetime.now() ,并计算增量。它应该工作。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python