Python 我不知道argv到底是做什么的,我需要一个解释
所以我在读一本书,我看到他这样做:Python 我不知道argv到底是做什么的,我需要一个解释,python,variables,parameters,valueerror,unpack,Python,Variables,Parameters,Valueerror,Unpack,所以我在读一本书,我看到他这样做: 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 ("You
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, first, second, third = argv
ValueError: not enough values to unpack (expected 4, got 1)
回溯(最近一次呼叫最后一次):
文件“c:\Users\FORCE 5 CORE\Desktop\visual studio代码文件\1\ex1.py”,第123行,在
脚本,第一,第二,第三=argv
ValueError:没有足够的值来解包(预期值为4,实际值为1)
脚本试图获得4个传递给它的参数,但您没有传递任何参数,因此,argv只有脚本名称,因为它是由您的操作系统提供的(因此,“预期为4,获得1”)
您需要使用另外3个参数运行脚本,例如:
python ex1.py val1 val2 val3
它是Python的命令行参数。在调用程序时,您可以通过传递这些值。 它基本上是一个数组
script, first, second, third = argv
当您使用以下参数从终端调用函数时,script,first、second、third=argv
类似:
>>python program_name.py 1 2 3
基本上,您将脚本指定为程序名.py
,第一个为1
,第二个为2
,第三个为3
为了避免出现错误,您必须在从终端运行程序时提供所有参数。这是否回答了您的问题?