Est-il possible en python d'avoir un argument chaîne pointant vers un objet défini dans le script?Python, Utilise un argument chaîne pour pointer vers un objet liste/tableau défini
Par exemple, disons que notre argumentation est -layers et j'ai une liste appelée convloop défini dans le script comme
convloop = ['conv2/3x3', 'conv2/3x3_reduce', 'conv2/3x3']
et je passe '-layers example.py python convloop'
J'ai besoin pour prendre cette chaîne arg (de convloop) et le point à la liste des convloop réelle (tableau) non seulement la chaîne « convloop »
Je sais que je peux faire
if args.layers == 'convloop':
#loop over layers as set in convloop array
endparam = convloop[frame_i % len(convloop)]
Et qui appellera la liste (tableau) « convloop » si le argstring est « convloop » et faire défiler la liste
Cependant, j'ai plusieurs listes dans mon script, et au lieu de Réécrire ce code à chaque fois pour chaque liste que je veux lire le argstring et le point à l'objet de la liste correspondant afin que je puisse passer par exemple:
« python example.py -layers pooploop
» et « python example.py
» -layers fartloop 'et avoir em pointent vers les pooploop et les listes fartloop en conséquence
J'utilise Python 2.7 BTW
Pourquoi ne pas simplement utiliser un dictionnaire de tableaux? Ensuite, vous pouvez faire 'my_loop = loop_for [args.layers]'. – melpomene
Gardez vos données hors de vos noms de variables. Si vous voulez faire des choses comme ça, vous devriez mettre vos listes dans un dict, en utilisant le nom de la liste désirée comme clé. –