Inconsistency with split() - Script, OS, or Package Problem?

Ian Kelly ian.g.kelly at gmail.com
Mon May 9 14:41:58 EDT 2011


On Mon, May 9, 2011 at 12:10 PM, James Wright <jamfwright at gmail.com> wrote:
> Hello,
>
> I have been using a script on several boxes that have been around for
> a while, and everything works just fine.  I am finding though, that on
> some new OS installs the script fails with:
>
> Traceback (most recent call last):
>  File "render4.py", line 114, in <module>
>    create_report_index(each_item)
>  File "render4.py", line 25, in create_report_index
>    [clean_name, _] = each_value.split('_', 1)
> ValueError: need more than 1 value to unpack

You should check the value of each_value at the point when the script
fails.  It sounds like split() is getting passed a string that doesn't
contain any '_' characters at all, resulting in a sequence with only
one value.  Passing 1 as the second argument ensures that there will
be at most 1 split, but there may still be fewer.

Cheers,
Ian



More information about the Python-list mailing list