如何找到哪一行导致解包错误
How to find which line causes unpack error
我在 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
我在 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