2017-08-09 41 views
-3

我有这样的代码:蟒蛇收到错误ValueError异常:值过多解压(预计3)

for stri in node.iter('string'): 
     name= (stri.text) 
     # name=name.replace(" ","_") 
     a, b, c = name.split() 
     name = b + "_" + c 

我不知道为什么我得到的错误:

a, b, c = name.split() 
ValueError: too many values to unpack (expected 3) 

它是非常有趣的是,这个代码用来执行没有错误!

+1

'name'显然包含超过2位。 – DeepSpace

+0

分割名称返回三个以上的值。而不是像这样:'a,b,c,* dontcare = name.split()' –

+0

@JaredSmith只适用于Python 3. – DeepSpace

回答

1

名称应该是三个字符串

a, b, c = name.split() 

可以使用

a, b, c, *d = name.split() 
+1

'“名字应该是三个字符串”'不完全正确。它应该包含2个空格。此外,您的解决方案将只适用于Python 3. – DeepSpace

+0

它是三个字符,我只是检查它 –

+0

@MasHJ它应该包含2个空格,而不是3个字符。根据错误它包含超过2个空格。 – DeepSpace

相关问题