Ранее я задавал вопрос здесь .Эта проблема решена, но при разработке сценария произошла ошибка.
В настоящее время из командной строки получается параметр, например:
... -b b1
при обработке кода:
import Mybench, optparse
parser.add_option("-b", "--benchmark", default="", help="The benchmark to be loaded.")
if options.benchmark == 'b1':
process = Mybench.b1
elif options.benchmark == 'b2':
process = Mybench.b2
...
else:
print "no such benchmark!"
Теперь я изменился, так что в «-b» передается более одной опции.
... -b b1,b2
Код для этого:
process = []
benchmarks = options.benchmark.split(',')
for bench_name in benchmarks:
print bench_name
process.append(Mybench.bench_name)
Если вы заметили, впервый код, процесс получает значение следующим образом:
process = Mybench.b1
Теперь я пишу это:
process.append(Mybench.bench_name)
Я ожидаю, что эта командная строка:
... -b b1,b2
результатыв:
process[0] = Mybench.b1
process[1] = Mybench.b2
Однако я получаю эту ошибку:
process.append(Mybench.bench_name)
AttributeError: 'module' object has no attribute 'bench_name'
Есть ли какое-либо решение для этого?