Inconsistency with split() - Script, OS, or Package Problem?
MRAB
python at mrabarnett.plus.com
Mon May 9 15:25:40 EDT 2011
On 09/05/2011 20:10, James Wright wrote:
> On Mon, May 9, 2011 at 2:41 PM, Ian Kelly<ian.g.kelly at gmail.com> wrote:
>> 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.
>>
> It does indeed to seem that way. However the script works just fine
> on other machines, with the same input file.
>
'each_value' gets its value from D4[report], so check which value of
'report' that is, and look at where 'D4' is filled.
More information about the Python-list
mailing list