On 10/6/2011 11:27 AM, Mahmood Naderan wrote:
Dear developers,
Suppose I have this list in command line options:
... -b b1,b2,b3
Here is what I wrote:
parser = optparse.OptionParser()
If you are starting a new project, consider using argparse, which has
superceded optparse.
# Benchmark options
parser.add_option("-b", "--benchmark", default="", help="The benchmark to be
loaded.")
process = []
benchmarks = options.benchmark.split(',')
for bench_name in benchmarks:
process.append(bench_name)
At this stage, I want to bind each process to something:
np = 2
for i in xrange(np):
...
system.cpu[i].workload = process[i]
however I get this error:
File "configs/example/cmp.py", line 81, in<module>
system.cpu[i].workload = process[i]
File "/home/mahmood/gem5/src/python/m5/SimObject.py", line 627, in
__setattr__
value = param.convert(value)
File "/home/mahmood/gem5/src/python/m5/params.py", line 236, in convert
tmp_list = [ ParamDesc.convert(self, value) ]
File "/home/mahmood/gem5/src/python/m5/params.py", line 159, in convert
return self.ptype(value)
TypeError: __init__() takes exactly 1 argument (2 given)
Error setting param TmpClass.workload to bzip2_chicken
params.py is part of the simulator and I didn't wrote that.
My question is what is the simplest way to fix that?
Or is there any better idea than what I did in order to parse such command line
option?
thanks
// Naderan *Mahmood;
--
Terry Jan Reedy
--
http://mail.python.org/mailman/listinfo/python-list