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
argparseauf realpython.com - Eine Diskussion über die Vor- und Nachteile von
sys.argvundargparseauf stackoverflow.com