Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我试图使用python中的timeit模块计算代码的时间,但无法做到这一点_Python_Subprocess_Timeit - Fatal编程技术网

我试图使用python中的timeit模块计算代码的时间,但无法做到这一点

我试图使用python中的timeit模块计算代码的时间,但无法做到这一点,python,subprocess,timeit,Python,Subprocess,Timeit,我已将设置变量作为 setup='''import subprocess \ from java_compile import func ''' 我要测量其时间的函数定义为: def func(uid,ppid,j,fn): global fwrite curr_working_path=os.getcwd() rel_path='/var/www/html/abc/temp/'+uid+'/p'+str(ppid)+'/' os.chdir(rel_path

我已将设置变量作为

setup='''import subprocess \
from java_compile import func 
'''
我要测量其时间的函数定义为:

def func(uid,ppid,j,fn):
    global fwrite
    curr_working_path=os.getcwd()
    rel_path='/var/www/html/abc/temp/'+uid+'/p'+str(ppid)+'/'
    os.chdir(rel_path)
    fdr=open(fwrite,"r")
    fdw=open(str(j)+'.txt',"w")
    subprocess.call(['java',str(fn)],stdin=fdr,stdout=fdw,stderr=subprocess.STDOUT)
    os.chdir(curr_working_path)
我把时间称为函数

timeit.timeit("func("+uid+","+str(ppid)+","+str(j)+","+fn+")",setup,number=1))
java_compile文件还有两个函数,一个是check,另一个是func。在func check中,我调用timeit模块来计算函数func的执行时间。
当它试图调试它时,我发现它在设置变量末尾或语句中使用了新行字符,我无法理解为什么会发生这种情况?请帮助

Try setup=import subprocess;从java_compile import Func开始,我们已经尝试过这个方法,但是在使用这个设置后效果很好,但是stmt部分时间它显示了一个额外的新行字符,但问题不太清楚;你能举几个例子吗?为什么不使用Java评测工具呢?我已经将代码粘贴到了pastebin上,下面给出了链接:pastebin.com/WZzH6bdx如果您能看一看,将不胜感激。否,请编辑问题以提供一系列代码、输入数据和输出。