Python:
Lesen von Kommandozeilenargumenten
Anleitung:
Um Befehlszeilenargumente in Python zu lesen, nutzt du das sys
Modul. Hier ein simples Beispiel:
import sys
def main():
# Prüfe, ob Argumente vorhanden sind
if len(sys.argv) > 1:
print(f"Hallo, {sys.argv[1]}!")
else:
print("Hallo, Welt!")
if __name__ == "__main__":
main()
Wenn du dein Programm mit python script.py Max
ausführst, ist die Ausgabe:
Hallo, Max!
Tiefergehende Informationen:
Das Modul sys.argv
ist der klassische Weg, Befehlszeilenargumente in Python zu handhaben. Historisch gesehen, ist es Teil von Python seit seinen frühesten Versionen. Eine moderne Alternative ist das argparse
Modul, das komplexere Parsing-Aufgaben und automatische Hilfe-Nachrichten unterstützt. Für einfache Zwecke genügt jedoch sys.argv
.
Eine wichtige Sache beim Umgang mit sys.argv
ist, dass alle Argumente standardmäßig als Strings behandelt werden. Wenn du andere Datentypen brauchst, musst du sie konvertieren.
Hier ist ein Beispiel, wie argparse
verwendet werden könnte:
import argparse
def parse_arguments():
parser = argparse.ArgumentParser(description='Sage Hallo.')
parser.add_argument('-n', '--name', default='Welt', help='Dein Name')
return parser.parse_args()
def main():
args = parse_arguments()
print(f"Hallo, {args.name}!")
if __name__ == "__main__":
main()
Starte dieses Skript mit python script.py -n Max
, um die Ausgabe:
Hallo, Max!
zu erhalten.
Siehe auch:
- Die Python Dokumentation für das sys Modul
- Die Python Dokumentation für das argparse Modul
- Ein Tutorial für
argparse
auf realpython.com - Eine Diskussion über die Vor- und Nachteile von
sys.argv
undargparse
auf stackoverflow.com