Heim  >  Artikel  >  Backend-Entwicklung  >  Wie übergebe ich mit argparse eine Liste als Argument an ein Befehlszeilenprogramm?

Wie übergebe ich mit argparse eine Liste als Argument an ein Befehlszeilenprogramm?

DDD
DDDOriginal
2024-10-28 05:30:02974Durchsuche

How Do I Pass a List as an Argument to a Command-Line Program Using argparse?

Übergabe von Listen als Argumente in argparse

Wenn Sie versuchen, eine Liste als Argument an ein Befehlszeilenprogramm mit argparse zu übergeben, ist dies unerlässlich um die verfügbaren Optionen für die Darstellung von Listen im Parser zu verstehen.

Nicht empfohlen: Verwendung von type=list

Vermeiden Sie die Verwendung von type=list mit argparse, da dies zu falschen Ergebnissen führen kann Ergebnisse. Es wird eine Liste von Listen zurückgegeben, keine einzelne Liste mit den gewünschten Elementen.

Verwenden Sie Nargs für erforderliche Argumente

Mit dem Parameter Nargs können Sie die Anzahl angeben Argumente, die eine Option akzeptiert. Um eine Liste als erforderliches Argument zu übergeben, verwenden Sie:

<code class="python">parser.add_argument('-l', '--list', nargs='+', help='Set flag', required=True)</code>

Verwenden Sie action='append' für optionale Argumente

Für optionale Argumente verwenden Sie action='append ', um die Bereitstellung mehrerer Instanzen des Arguments zu ermöglichen.

<code class="python">parser.add_argument('-l', '--list', action='append', help='Set flag')</code>

Syntax zum Aufrufen dieser Optionen

Für Nargs sollten die Argumente zusammen ohne Leerzeichen bereitgestellt werden, wie z :

<code class="bash">python test.py -l 12345678</code>

Für action='append' sollte das Argument mehrmals angegeben werden, wie zum Beispiel:

<code class="bash">python test.py -l 1234 -l 5678</code>

Zusätzliche Überlegungen

  • Verwenden Sie keine Anführungszeichen, wenn Sie Argumente an argparse in der Befehlszeile übergeben.
  • Wenn Sie möchten, dass die Listenelemente typkonvertiert werden (z. B. in Ganzzahlen), verwenden Sie type=int innerhalb der Nargs Einstellung.
  • Nargs mit oder * erlauben jeweils ein oder mehrere Argumente und ? erlaubt 0 oder 1 Argumente. Geben Sie für eine bestimmte Anzahl von Argumenten eine Ganzzahl für nargs an.

Das obige ist der detaillierte Inhalt vonWie übergebe ich mit argparse eine Liste als Argument an ein Befehlszeilenprogramm?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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