bekommt Ich versuche, eine Fahne, um ein Programm zu übernehmen:Kann nicht wahr/falsch Wert von der Kommandozeile in Python 2.7
python2.7 hello.py --showxy
und argparse
geben mir Mühe.
dies ist mein Beispiel Testcode:
import os
import sys
import argparse
print (os.getcwd())
print ("___________________________________________________")
print ("A: " + sys.argv[0])
print ("B: " + sys.argv[1])
print ("C: " + sys.argv[2])
print ("___________________________________________________")
parser = argparse.ArgumentParser()
parser.add_argument('--showxy', action='store_true')
args = argparse.Namespace()
d = vars(args)
print Namespace()
Und während ich sollte bekommen:
Namespace(showxy=True)
Ich bin tatsächlich einen Fehler bekommen:
A: hello.py
B: haarcascade_frontalface_default.xml
C: euromil.jpg
___________________________________________________
Traceback (most recent call last):
File "hello.py", line 19, in <module>
print Namespace()
NameError: name 'Namespace' is not defined
Wie soll ich sein? ormatting das?
Warum glauben Sie, dass * * bekommen sollte? 'Namespace' steht unter' argparse' und Sie haben es bereits als 'argparse.Namespace()' aufgerufen. Warum sollte der Aufruf von 'Namespace' funktionieren? – idjaw
Sie haben nicht einmal 'parser.parse_args()' aufgerufen. Warum versuchen Sie, 'Namespace' direkt aufzurufen? – user2357112