是否有可能在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
將您的數據保留在您的變量名稱之外。如果你想做這樣的事情,你應該把你的列表變成一個字典,使用所需的列表名稱作爲它的關鍵字。 –