名称错误:未定义名称“process”(python)

2024-09-26 22:50:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python脚本,它看起来像:

 if options.benchmark == 'perlbench':
     process = Mybench.perlbench
 elif options.benchmark == 'bzip2':
     process = Mybench.bzip2
 elif options.benchmark == 'gcc':
     process = Mybench.gcc
 ....
 np = 1
 ....
 for i in xrange(np):   
     ... 
     system.cpu[i].workload = process[i]

但是我得到这个错误:

system.cpu[i].workload = process[i]

NameError: name 'process' is not defined

你知道怎么解决吗?我不是Python专家。


Tags: 脚本forifnpcpuprocesssystemoptions
2条回答

您发布的代码片段似乎来自发布的cmp.py脚本here(链接当前关闭)。

此脚本正在命令行上运行,需要为-b--benchmark指定有效值。您不是指定了一个,就是指定了一个无效的。

可以通过添加else大小写来修改脚本,以显示更有用的错误,但除非使用适当的值,否则它仍然无法工作。

例如,您可以尝试:

python cmp.py --benchmark perlbench

也就是说你的街区

if options.benchmark == 'perlbench':
     process = Mybench.perlbench
elif options.benchmark == 'bzip2':
     process = Mybench.bzip2
elif options.benchmark == 'gcc':
     process = Mybench.gcc

与任何options.benchmark都不匹配,因此变量process从未分配过任何内容。你需要扔一个

else:
    process = Mybench.<somedefault>

最后(当然要根据需要填写<somedefault>)。或者,如果这是一个无效的情况,你可以提出一个例外,也许。

相关问题 更多 >

    热门问题