Website-Suche

Python-Befehlszeilenargumente


Python-Befehlszeilenargumente sind Eingabeparameter, die beim Ausführen des Skripts übergeben werden. Fast alle Programmiersprachen unterstützen Befehlszeilenargumente. Außerdem gibt es Befehlszeilenoptionen, um einige spezifische Optionen für das Programm festzulegen.

Python-Befehlszeilenargumente

Es gibt viele Möglichkeiten, Python-Befehlszeilenargumente zu lesen. Die drei gebräuchlichsten sind:

  1. Python sys.argv
  2. Python getopt-Modul
  3. Python argparse-Modul

Lass uns ein einfaches Programm durchsehen, um zu lernen, wie man Python-Befehlszeilenargumente liest und verwendet.

Python Sys-Modul

Das Python sys-Modul speichert die Befehlszeilenargumente in einer Liste, auf die wir mit sys.argv zugreifen können. Dies ist eine sehr nützliche und einfache Möglichkeit, Befehlszeilenargumente als String zu lesen. Schauen wir uns ein einfaches Beispiel an, um Befehlszeilenargumente mit dem Python sys-Modul zu lesen und auszugeben.

import sys

print(type(sys.argv))
print('The command line arguments are:')
for i in sys.argv:
    print(i)

Das unten stehende Bild veranschaulicht die Ausgabe eines Beispielablaufs des oben genannten Programms.

Python getopt-Modul

Das Python getopt-Modul funktioniert sehr ähnlich wie die C-Funktion getopt() zum Parsen von Befehlszeilenparametern. Das Python getopt-Modul ist nützlich zum Parsen von Befehlszeilenargumenten, wenn wir möchten, dass der Benutzer auch einige Optionen eingibt. Lassen Sie uns ein einfaches Beispiel ansehen, um dies zu verstehen.

import getopt
import sys

argv = sys.argv[1:]
try:
    opts, args = getopt.getopt(argv, 'hm:d', ['help', 'my_file='])
    print(opts)
    print(args)
except getopt.GetoptError:
    # Print a message or do something useful
    print('Something went wrong!')
    sys.exit(2)

Das obige Beispiel ist sehr einfach, aber wir können es leicht erweitern, um verschiedene Dinge zu tun. Wenn beispielsweise die Hilfe-Option übergeben wird, drucken Sie eine benutzerfreundliche Nachricht aus und beenden Sie das Programm. Das getopt-Modul wird automatisch den Optionswert analysieren und diese zuordnen. Das untenstehende Bild zeigt eine beispielhafte Ausführung.

Python argparse-Modul

Das Python argparse-Modul ist die bevorzugte Methode zum Parsen von Befehlszeilenargumenten. Es bietet viele Optionen wie Positionsargumente, Standardwerte für Argumente, Hilfenachrichten, die Angabe des Datentyps von Argumenten usw. In der einfachsten Form können wir es wie folgt verwenden.

import argparse

parser = argparse.ArgumentParser()
parser.parse_args()

Unten ist die Ausgabe eines schnellen Durchlaufs des obigen Skripts.

  • sys.argv
  • getopt-Modul
  • argparse-Modul