Próbuję nauczyć się kodować w Pythonie, ilekroć wykonuję ćwiczenie wymagające from sys import argv
Otrzymuję ten kod błędu:
Traceback (ostatnie połączenie ostatnio): Plik „C: / Users / Kaleb / PycharmProjects / python ex13.py”, wiersz 3, w skrypt, pierwszy, drugi, trzeci = argv ValueError: potrzeba więcej niż 1 wartości do rozpakowania
Oto kod, który próbuję zrobić:
from sys import argv
script, first, second, third = argv
print "The script is called:", script
print "Your first variable is:", first
print "Your second variable is:", second
print "Your third variable is:", third
Nie jestem pewien, dlaczego to robi, i jestem nowy w programowaniu. Rozejrzałem się dookoła, ale nie mogę znaleźć nic pomocnego lub tego, co mogę zrozumieć.
Co oznacza ten błąd i co muszę zrobić, aby go naprawić?
Odpowiedzi:
0 dla odpowiedzi № 1Działa idealnie dobrze, jeśli nazwiesz go poprawnie. Zakładając, że skrypt się nazywa output.py
musisz uruchomić go w następujący sposób:
python output.py z u i
gdzie z
, u
i i
to trzy argumenty, które próbujesz rozpakować. Następnie otrzymasz:
The script is called: output.py
Your first variable is: z
Your second variable is: u
Your third variable is: i
Jeśli wywołasz to bez tych trzech argumentów, wystarczy użyć
python output.py
pojawia się wspomniany komunikat o błędzie:
Traceback (most recent call last):
File "output.py", line 3, in <module>
script, first, second, third = argv
ValueError: need more than 1 value to unpack
1 dla odpowiedzi nr 2
Próbujesz przypisać zmienne do nieistniejących wartości
script, first, second, third = argv
Kiedy wywołujesz skrypt, musisz przekazać również trzy parametry
Możesz więc wywołać swój skrypt w następujący sposób:
python ex13.py test1 test2 test3
Powinieneś zobaczyć:
The script is called: ./ex13.py
Your first variable is: test1
Your second variable is: test2
Your third variable is: test3