如何查找哪一行会导致解包错误

问题描述 投票:0回答:2

我在python中遇到以下错误消息的问题。

ValueError: not enough values to unpack (expected at least 2, got 1)

具有上述错误的代码行是

op, param, *val = statement.split()

我试图使用打印值找到一行中只有一个至少不等于2的行。但是有很多行,所以我找不到它。

您知道如何轻松找到问题所在的行吗?

python iterable-unpacking
2个回答
0
投票

一种简单的方法是捕获错误,打印值,然后再次引发错误

try:
    op, param, *val = statement.split()
except ValueError:
    print(repr(statement))
    raise

0
投票

或者您可以只打印所有语句和其他信息,例如列表的长度,也可以打印拆分列表。.更容易确切地知道出了什么问题。

print(statement)
l = statement.split()
print(l)
print("len : ", len(l))
op, param, *val = l
© www.soinside.com 2019 - 2024. All rights reserved.