关于ValueError: not enough values to unpack (expected 4, got 1)

今天在看《笨办法学python》这本书,有一课小练习,代码如下:

from sys import argv  #Python特性引入脚本/模块
script,first,second,third = argv  #把argv中东西解包,将所有参数依次赋予给左边变量

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

运行报错,提示“ValueError: not enough values to unpack (expected 4, got 1)”

在网上查阅资料,发现自己没有理解“from sys import argv”的真正含义,第二行代码意思是将argv解包,并将所有参数赋值给左边的变量,但是在实际运行中实际上需要赋值给四个变量,运行时只赋值了一个变量,分别对其他三个变量赋值,代码如下:

$ python3 ex13.py 1 two 3

结果如下:

总结:运行脚本时提供的参数不对,会看到该错误提示,提示的错误信息告诉你参数数量不足

原文地址:https://www.cnblogs.com/mernva/p/13695319.html