Verwenden von sys.argv in Python
-
Was sind
sys.argv[0]
undsys.argv[1]
in Python -
Funktionen, die zusammen mit
sys.argv
in Python verwendet werden
In Python verwenden wir sys.argv
im Umgang mit den Kommandozeilenargumenten.
Dieses Tutorial behandelt die Verwendung und Implementierung von sys.argv
in Python. Wir können sys.argv
als eine Liste definieren, die alle Befehlszeilenargumente enthält, die an das Skript in Python übergeben werden.
Wie andere beliebte Programmiersprachen wie C, C++, Java, Shell-Skripting und viele andere gehört auch Python zu der großen Liste der Programmiersprachen, die Befehlszeilenargumente unterstützen.
Das sys
-Modul muss importiert werden, um sys.argv
in Python zu verwenden. Das Modul sys
stellt Variablen und Methoden bereit, die zur Interaktion mit der Python-Laufzeitumgebung verwendet werden.
Der Zugriff auf den Interpreter erfolgt ebenfalls mit Hilfe einiger Methoden des sys
-Moduls.
Was sind sys.argv[0]
und sys.argv[1]
in Python
Wie oben erwähnt, ist sys.argv
eine Liste in Python. Der Begriff sys.argv[0]
bezeichnet den Dateinamen des ausgeführten Skripts, während der Begriff sys.argv[1]
das erste Befehlszeilenargument bezeichnet, das das Skript verarbeitet.
Funktionen, die zusammen mit sys.argv
in Python verwendet werden
str()
: Bei Verwendung mitsys.argv
werden die Argumente des Befehlszeilenarrays angezeigt.len()
: Wenn es mitsys.argv
verwendet wird, liefert es die Zählung der Gesamtzahl der übergebenen Befehlszeilenargumente.
Wir sollten beachten, dass die Funktion len(sys.argv)
auch die Zählung des Namens des Skripts übernimmt. Um das zu vermeiden, können wir (len(sys.argv)-1)
verwenden.
Der folgende Code implementiert sys.argv
in Python.
import sys
print("Name of program:", sys.argv[0])
print("Number of elements:", len(sys.argv))
print("List of Arguments:", str(sys.argv))
print("Number of elements excluding the name of the program:", (len(sys.argv) - 1))
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn