Ist es in Python möglich, ein Zeichenfolgenargument auf ein definiertes Objekt im Skript zu legen?Python, Verwenden Sie ein Zeichenfolgenargument, um auf ein definiertes Listen-/Arrayobjekt zu zeigen
Zum Beispiel Nehmen wir unser Argument ist -Schichten und ich habe eine Liste convloop definiert im Skript als
convloop = ['conv2/3x3', 'conv2/3x3_reduce', 'conv2/3x3']
und ich pass ‚Python example.py -Schichten convloop‘ genannt
ich brauche es, dass arg Zeichenfolge zu nehmen (convloop) und verweisen auf die tatsächlichen convloop Liste (Array) nicht nur die Zeichenfolge ‚convloop‘
Ich weiß, ich
if args.layers == 'convloop':
#loop over layers as set in convloop array
endparam = convloop[frame_i % len(convloop)]
tun können, und das wird die Liste (Array) ‚convloop‘ nennen, wenn die argstring ist ‚convloop‘ und durch die Liste
Jedoch habe ich mehrere Listen haben in meinem Skript, und stattdessen für jede Liste diesem Code jedes Mal von rewritting ich den argstring und verweisen auf die passende Liste Objekt lesen möchten, so dass ich zum Beispiel passieren kann:
‚python example.py -layers pooploop
‘ und ‚python example.py
‘ -Schichten fartloop und habe th em Punkt auf die pooploop und fartloop Listen entsprechend
Ich verwende Python 2.7 btw
Warum nicht einfach ein Wörterbuch von Arrays verwenden? Dann können Sie 'my_loop = loop_for [args.layers]' tun. – melpomene
Halten Sie Ihre Daten aus Ihren Variablennamen heraus. Wenn Sie so etwas machen möchten, sollten Sie Ihre Listen in ein Diktat einfügen, indem Sie den gewünschten Listennamen als Schlüssel verwenden. –