我试图使用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如果您能看一看,将不胜感激。否,请编辑问题以提供一系列代码、输入数据和输出。