如何在Python中获得gnuplot脚本的执行时间?

如何在Python中获得gnuplot脚本的执行时间?,python,time,gnuplot,Python,Time,Gnuplot,我对Python还很陌生,现在我正在尝试使用它。 我想通过以下方式导入Gnuplot脚本的执行时间: import os run_time = os.system("time gnuplot sript.gnuplot") print "run time:",run_time 我得到的是: run time: 256 如果没有什么要运行,则为零,如果正在运行,则为256。 运行时间的类型是int,我试图得到这种字符串 0.65user 0.06system 0:00.72elapsed

我对Python还很陌生,现在我正在尝试使用它。 我想通过以下方式导入Gnuplot脚本的执行时间:

 import os
 run_time = os.system("time gnuplot sript.gnuplot")
 print "run time:",run_time
我得到的是:

run time: 256
如果没有什么要运行,则为零,如果正在运行,则为256。 运行时间的类型是int,我试图得到这种字符串

0.65user 0.06system 0:00.72elapsed
我不知道我现在做错了什么,但我会继续调查

我的问题是,是否有其他方法来度量此执行时间,或者是否可以以某种方式更正代码

所有这些的要点是,我想在python脚本中使用这段时间作为暂停,以便让Gnuplot有足够的时间来适应我的数据。如果我用python导入gnuplot库,我不知道需要多少时间来适应我想要的每个绘图,所以我不想停止这个过程并得到一个不好的适应。(例如,我认为如果我使用暂停是一个坏主意,因为对于我模拟然后尝试拟合的每一组数据点,拟合完成所需的时间对于每个绘图都是不同的)。我希望我尽可能清楚地说明了问题


提前感谢!

操作系统函数为您提供程序的返回代码,而不是它发送到输出的字符串

使用模块来启动gnuplot:

import subprocess
run_time_str = subprocess.check_output(['time', 'gnuplot', 'sript.gnuplot'])
print 'run time:', run_time_str
您还可以使用模块直接在Python中测量时间:


请注意,这会将运行时作为一个数字提供给您,而您必须从
time
的输出字符串中提取它(
0.65user 0.06system 0:00.72appeased
)您自己。

为什么需要暂停Python?调用将一直等到完成。更好!正如您所预料的,我想操作字符串,这将是一个不必要的麻烦。
import subprocess
from timeit import timeit
run_time = timeit(lambda: subprocess.call(['gnuplot', 'sript.gnuplot']), number=1)
print 'run_time: %.1f milliseconds' % (run_time*1000)