2016-03-18 8 views
3
from sys import argv 

script, first, second, third = argv 
print("The script is called: ", script) 
print("The first variable is: ", first) 
print("The second variable is: ", second) 
print("The third variable is: ", third) 

Der Fehler ist script, first, second, third = argv. Ich würde gerne verstehen, warum ich den Fehler bekomme und wie ich ihn beheben kann. Vielen Dank!ValueError: nicht genügend Werte zum Entpacken (erwartet 4, 1 erhalten)

+2

Sie einfach das Skript lief ohne Argumente, für Ihr Code zu arbeiten sollten Sie mindestens 3 Argumente übergeben wie 'Python script.py arg1 arg2 arg3' – dnit13

+0

Was ist der Fehler, den Sie bekommen? – Brandon

+0

Ich bekomme ValueError: nicht genug Werte zum Entpacken (erwartet 4, 1), ist es, weil ich es in pycharm statt mit cmd ausführen? – sed174

Antwort

2

argv Variable enthält Befehlszeilenargumente. In deinem Code hast du 4 Argumente erwartet, aber nur 1 (erstes Argument immer Skriptname). Sie können Argumente in pycharm konfigurieren. Gehe zu Run ->Edit Configurations. Erstellen Sie anschließend eine neue Python-Konfiguration. Und dort können Sie Script parameters Feld angeben. Oder Sie können Ihr Skript über die Befehlszeile ausführen, wie von dnit13 erwähnt.

1

Run es aus der Schale wie folgt aus:

python script.py arg1 arg2 arg3 
+0

Danke, habe es in pycharm und der Shell zu arbeiten. – sed174

+0

Dies passiert, wenn Sie beim Ausführen des Befehls nicht genügend Argumente für den Befehl angeben. –

-2

Versuchen Sie dieses, ich versuchte es und es funktioniert gut

from sys import argv 

script, first, second, third = argv,"Anything Here 1","Anything Here 2","Anything Here 3" 

print("The script is called: ", script) 
print("The first variable is: ", first) 
print("The second variable is: ", second) 
print("The third variable is: ", third) 
0

Man könnte es so laufen: Python script.py ersten, zweiten, dritten

Verwandte Themen