亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

包裝腳本,將記錄另一個腳本的執行時間與參數

包裝腳本,將記錄另一個腳本的執行時間與參數

神不在的星期二 2023-04-25 16:48:58
我有一個包裝器腳本wrapper.py,可以為benchrun.py.假設我benchrun.py使用此命令運行:python benchrun.py --host {host} -f {testfile} -t {number of threads} -s {mongo shell path}我應該在包裝器腳本中放入什么來運行benchrun.py腳本并獲取執行時間?
查看完整描述

4 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

一、benchrun.py


import datetime


print ("sleeping now...")

time.sleep(10)

print ("done!") 

包裝:


import os

from datetime import datetime, timedelta


before = datetime.now()

os.system("python benchrun.py")

after = datetime.now()


print ("execution time: {0}".format(after - before))


查看完整回答
反對 回復 2023-04-25
?
幕布斯6054654

TA貢獻1876條經驗 獲得超7個贊

# timer.py

import time



def 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.py

from timer import timer



@timer

def benchrun():

    ...


查看完整回答
反對 回復 2023-04-25
?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

您需要在執行前后計算時間并減少它們之間的時間,以便獲得執行時間;

在包裝器腳本中:

import time

執行前:

before= time.clock()

執行后:

after = time.clock()
totaltime = after-before

totaltime 是 benchrun.py 腳本的執行時間。


查看完整回答
反對 回復 2023-04-25
?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

你在使用 os.system 來調用 benchrun.py 嗎?如果是這樣,只需在開始和返回后設置 datetime.now() ,并計算增量。它應該工作。



查看完整回答
反對 回復 2023-04-25
  • 4 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號