是否有可能在python中有一个字符串参数指向脚本中定义的对象?Python中,使用字符串参数来指向定义的列表/数组对象
例如,比方说我们的说法是-layers,我必须在脚本定义为
convloop = ['conv2/3x3', 'conv2/3x3_reduce', 'conv2/3x3']
一个名为convloop列表,我通过“蟒蛇example.py -layers convloop”
我需要它采取ARG字符串(convloop),并指向实际convloop列表(阵列),而不仅仅是字符串“convloop”
我知道我可以做
if args.layers == 'convloop':
#loop over layers as set in convloop array
endparam = convloop[frame_i % len(convloop)]
这将调用列表(阵列)“convloop”如果argstring是“convloop” 和循环列表
但是我有多个列表在我的剧本和,而不是每次都rewritting此代码为每个列表我希望它读argstring并指向匹配列表对象,所以我可以通过例如:
“python example.py -layers pooploop
”和“python example.py
” -layers fartloop '并且有EM指向pooploop和fartloop列出相应
我使用Python 2.7 BTW
为什么不直接使用数组的字典?然后你可以做'my_loop = loop_for [args.layers]'。 – melpomene
将您的数据保留在您的变量名称之外。如果你想做这样的事情,你应该把你的列表变成一个字典,使用所需的列表名称作为它的关键字。 –