2011-07-23 50 views
1

我有一個python腳本,它看起來像:NameError:名字 '過程' 沒有定義(蟒蛇)

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的專家。

+2

什麼options.benchmark'的'的價值,當你得到這個錯誤? – Dogbert

回答

2

您發佈的片段似乎來自cmp.py腳本here(當前鏈接已關閉)。

此腳本正在命令行上運行,並要求爲-b--benchmark指定有效值。你要麼沒有指定一個,要麼指定一個無效的。

腳本可以通過添加else情況下顯示更多有用的錯誤進行修改,但它仍然除非你使用一個適當的值將無法正常工作。

例如,你可以試試這個:

python cmp.py --benchmark perlbench 
4

這意味着,你的塊

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

不匹配任何options.benchmark所以變量process從未指定任何東西的。你需要在它的端部(<somedefault>酌情當然填充)拋出

else: 
    process = Mybench.<somedefault> 

。或者,如果這是一個無效的案例,你可能會引發異常。

相關問題