Fügen Sie BefehlszeilenArgumente mit Fahnen in Python ist3
Habe ich die Eingabe der Parameter von der Befehlszeile aus ich.e Benutzername, Passwort und Datenbank-Namen. Ich weiß, wie zu tun, ohne Verwendung von flags, durch Verwendung von 'sys.argv' (wie unten).
##Test.py
hostname = str(sys.argv[1])
username = str(sys.argv[2])
password = str(sys.argv[3])
def ConnecttoDB():
try:
con=sql.connect(host=hostname, user= username, passwd= password)
print ('\nConnected to Database\n')
# If we cannot connect to the database, send an error to the user and exit the program.
except sql.Error:
print ("Error %d: %s" % (sql.Error.args[0],sql.Error.args[1]))
sys.exit(1)
return con
So könnte es laufen:
$test.py DATENBANK BENUTZERNAME KENNWORT
Aber das problem ist, dass ich mit 'Flaggen'. So könnte das Skript ausgeführt, wie diese:
$test.py -db DATABSE -u USERNAME -p PASSWORD -size 20
Wie kann ich use-flags, um Argumente von der Kommandozeile? Ich würde schätzen Ihre Hilfe bei diesem.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Python 3-Bibliothek umfasst 3 Module zum Parsen der Kommandozeile also nichts extra hinzufügen, um Ihre Einrichtung.
Die Sie verwenden sollten, ist argparse
Zunächst einmal vielen Dank an Mark für 'argparse' code. Ich habe herausgefunden auf dem Weg, um Argumente von der Kommandozeile angegeben flags. Ich bin kopieren Sie den code unten verwendet eine modifizierte "Mark" - code und einem kleinen Modul, welches zeigt, wie die Argumente, die über commandline:
Eines meiner Anliegen war es, wie Sie Variablen verwenden, aus den Argumenten die code. Dafür müssen zwei Dinge getan werden
Getan
Dank
AK