问题描述
所以我正在读一本书,我看到他这样做了:
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)
它给出了这个错误,但在书中它有效:
Traceback (most recent call last):
File "c:\Users\FORCE 5 CORE\Desktop\visual studio code file\1\ex1.py",line 123,in <module>
script,third = argv
ValueError: not enough values to unpack (expected 4,got 1)
解决方法
脚本试图将 4 个参数传递给它,但您没有传递任何参数,因此,argv 只有脚本名称,因为它是由您的操作系统提供的(因此,“预期 4,得到 1”)
您需要使用另外 3 个参数运行脚本,例如:
python ex1.py val1 val2 val3
,
它是 Python 的命令行参数。您在调用程序时传递这些值。 它基本上是一个数组。
script,first,second,third = argv
当您使用这些参数 script,third = argv
从终端调用您的函数时,例如:
>>python program_name.py 1 2 3
您基本上是在分配 script as program_name.py
、first as 1
、second as 2
和 third as 3
。
为避免出现错误,您必须在从终端运行程序时提供所有参数。