1

我正在尝试使用 Python 从已编译的 C++ exe 中获取返回值(同时对它们进行计时)。

这是我的 Python 代码

import subprocess
import time

info = subprocess.STARTUPINFO()
info.dwFlags |= subprocess.STARTF_USESHOWWINDOW
info.wShowWindow = subprocess.SW_HIDE

t1 = time.clock()
h = subprocess.Popen([r"C:\Users\MyName\Desktop\test.exe"], startupinfo=info) 
h.communicate()
t2 = time.clock()-t1

print "Return Code:", h.returncode
print "Duration:", t2

这是 test.cpp 的内容:

int main(){    
    return 1234;
}

这是 Python 输出

Return Code: 1234

Duration: 0.0438238265388

我觉得 43+ 毫秒太长而且不准确。有没有更好的办法?

4

1 回答 1

0

我还建议从 C++ 程序本身测量时间,如果您仍然有兴趣在 Python 程序中获取时间,您可以返回从 C++ 程序计算的时间,这应该非常准确。也正如其他人所建议的那样,平均多次运行。

于 2012-06-09T07:02:38.577 回答