Wie kann man mit argparse eine Liste von Argumenten an ein Befehlszeilenprogramm übergeben?

Barbara Streisand
Freigeben: 2024-10-30 04:10:28
Original
858 Leute haben es durchsucht

How can you pass a list of arguments to a command-line program using argparse?

Übergabe von Listen als Befehlszeilenargumente mit argparse


Beim Erstellen von Befehlszeilenprogrammen ist es oft von Vorteil, Benutzern dies zu ermöglichen Übergeben Sie Listen als Argumente. argparse macht dies möglich und bietet mehrere Optionen, um dies zu erreichen.


nargs


Um eine Liste von Argumenten zu erhalten, Verwenden Sie den Parameter „nargs“. Geben Sie „ “ an, um ein oder mehrere Argumente zu akzeptieren, „*“, um null oder mehr zu akzeptieren, „?“ um Null oder Eins oder eine bestimmte Zahl (wie 2) zu akzeptieren, um genau diese Anzahl von Argumenten zu akzeptieren.


parser = argparse.ArgumentParser()<br>parser.add_argument('- l', '--list', nargs=' ')<br>

Dieser Ansatz macht es Benutzern einfach, mehrere Argumente als eine einzige Eingabe bereitzustellen.


append


Alternativ können Sie die Aktion „Anhängen“ verwenden, um jedes Argument an eine Liste anzuhängen, sobald es gefunden wird.< /p>

parser.add_argument('-l', '--list', action='append')<br>

Diese Methode erfordert Benutzer um das Flag mehrmals anzugeben, eines für jedes Argument, das in die Liste aufgenommen werden soll.


Vermeiden Sie type=list


< ;p>Obwohl es intuitiv erscheinen mag, „Typ“ auf „Liste“ zu setzen, wird dies nicht empfohlen, da es eine Liste von Listen und keine abgeflachte Liste zurückgibt. Dies kann zu unerwartetem Verhalten führen.


Beispielverwendung


Stellen Sie sich ein Skript vor, bei dem der Benutzer eine Liste übergeben muss von ganzen Zahlen.


parser = argparse.ArgumentParser()<br>parser.add_argument('-l', '--list', nargs='', type=int)<br>

Dadurch kann der Benutzer mehrere Ganzzahlen eingeben, die dann automatisch in eine Liste von Ganzzahlen umgewandelt und in der Variablen „list“ gespeichert werden.


Hinweis:



  • Vermeiden Sie die Verwendung von Anführungszeichen in der Befehlszeile, da diese die Analyse von argparse beeinträchtigen können.
  • Verwenden Sie nicht type=list, da dies zu einer Liste von Listen anstelle einer abgeflachten Liste führt.

Das obige ist der detaillierte Inhalt vonWie kann man mit argparse eine Liste von Argumenten an ein Befehlszeilenprogramm übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!