In Python, sys.argv
ist eine Liste, die die command-line
Argumente enthält bestanden zum Skript.
So könnten Sie zum Beispiel eine Python-Datei mit dem Namen testingArguments.py
erstellen, die die analysierten Argumente aus command-line
drucken würde.
Der Code für diese einfach etwas aussehen kann:
from sys import argv
print(argv)
dann von der Befehlszeile, wenn Sie den Befehl lautete:
python testingArguments.py arg1 arg2 3
dann wäre es aus den Argumenten in eine list
drucken so:
['testingArguments.py', 'arg1', 'arg2', '3']
, was Ihr Code tut, dann ist dies bekommen list
in die gleiche Art und Weise, entpackt es dann genau wie möglich ein list
nicht von sys.argv
:
a, b, c, d = [1, 2, 3, 4]
jetzt a=1
, b=2
, c=3
und d=4
.
so hoffentlich können Sie jetzt sehen, dass insgesamt, Ihr Code nur die vier Argumente an der Befehlszeile übergeben, die den Skriptnamen und 3
weitere Argumente wie oben sind.
Die error
, die Sie bekommen:
ValueError: not enough values to unpack (expected 4, got 1)
ist, weil Sie nicht in diesen 3
zusätzliche Variable vorbei sind so sys.argv
nicht in 4
entpackt werden kann, da es nur ein Element hat: den Namen des Skripts. Daher das letzte Bit: (expected 4, got 1)
.
Hoffe, das hilft!
1. Wenn Sie Fehler erhalten, müssen Sie sie hier veröffentlichen. Wenn du sagst, dass du Fehler bekommst, dann ist es nicht sehr hilfreich, zu sagen, was sie sind. 2. Wie führen Sie das Skript aus? Übergeben Sie irgendwelche Argumente? – Carcigenicate
Bitte werfen Sie einen Blick auf diese [argv] (https://stackoverflow.com/questions/13263951/what-is-argv-and-what-does-it-do) – ABcDexter