我在python中遇到以下错误消息的问题。
ValueError: not enough values to unpack (expected at least 2, got 1)
具有上述错误的代码行是
op, param, *val = statement.split()
我试图使用打印值找到一行中只有一个至少不等于2的行。但是有很多行,所以我找不到它。
您知道如何轻松找到问题所在的行吗?
一种简单的方法是捕获错误,打印值,然后再次引发错误
try:
op, param, *val = statement.split()
except ValueError:
print(repr(statement))
raise
或者您可以只打印所有语句和其他信息,例如列表的长度,也可以打印拆分列表。.更容易确切地知道出了什么问题。
print(statement)
l = statement.split()
print(l)
print("len : ", len(l))
op, param, *val = l