QProcess执行时间

时间:2016-06-13 06:42:52

标签: python pyqt pyside qprocess

我想测量QProcess对象的执行时间。

PySide中是否有内部属性,方法或对象用于执行时间测量?

目前的方法是使用time.time()从外部测量它。

示例代码:

from PySide import QtCore
import time

p = QtCore.QProcess()
start_time = time.time()
p.start('ping -n 5 127.0.0.1 >nul')
p.waitForFinished(-1)
end_time = time.time() - start_time

print(end_time)

1 个答案:

答案 0 :(得分:1)

您可以这样做的一种方法如下。这使用系统time命令来获取执行时间。

from PySide import QtCore
import time

p = QtCore.QProcess()
p.start('time -p ping -n 5 127.0.0.1 >nul')
p.waitForFinished(-1)
stdOut = p.readAllStandardOutput()
print(stdOut)
#TODO you will have to regex the stdOut to get the values you want.

这是另一种方法:

from PySide import QtCore
import time

timer = QtCore.QTime()


def handle_proc_stop(*vargs):
    procTime = timer.elapsed()
    print("Process took {} miliseconds".format(procTime))

p = QtCore.QProcess()
p.started.connect(timer.start)
p.finished.connect(handle_proc_stop)
p.start('ping -n 5 127.0.0.1 >nul')
p.waitForFinished(-1)