[python-win32] error in list length
Larry Bates
larry.bates at websafe.com
Tue Jul 22 03:29:23 CEST 2008
knish wrote:
> Hi,
>
> Thank you for your reply. I will remember your point and send the code
> from the console.
>
> BRgds,
>
> kNish
>
>
> Larry Bates wrote:
>> kNish wrote:
>>> Hi,
>>>
>>> The following lines of code gives an error starting with
>>> line where len() is used
>>>
>>>
>>> local_BkFiles = glob.glob(localDirectoryName+'\\*' +
>>> data + '*bk*')
>>> local_BkFiles.sort(key=str.upper)
>>> last_pv_File_Name = local_PvFiles[len(local_PvFiles)-1]
>>> split_last_pv_File_Name =
>>> re.search(data+"_bk[0-9]{2}_[a-z]{3}_pv[0-9]{2}",last_pv_File_Name )
>>> lastPv_FileVersion =
>>> re.search('(?<=pv)\d+',split_last_pv_File_Name.group(0))
>>>
>>>
>>> This code is being called in a procedure or function def. How may I
>>> solve this.
>>>
>>>
>>> BRgds,
>>>
>>>
>>> kNish
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> python-win32 mailing list
>>> python-win32 at python.org
>>> http://mail.python.org/mailman/listinfo/python-win32
>> Since you didn't post your full traceback (you should always do that in
>> the
>> future), we are guessing:
>>
>> local_PvFiles isn't defined prior to trying to determine its length.
>>
>> The way to get the last element of a list is:
>>
>> local_PvFiles[-1]
>>
>> you don't need to do all the length gymnastics.
>>
>> I'm no regex expert, so I'll leave that part to someone else but if the
>> filenames are a fixed format, you don't need regex at all to extract the
>> version. If it is a completely variable format, then you would.
>>
>> -Larry
>>
>>
>> _______________________________________________
>> python-win32 mailing list
>> python-win32 at python.org
>> http://mail.python.org/mailman/listinfo/python-win32
>>
>>
>
What "this" to you want to solve? I see no traceback, no listing of files, no
explanation of what you are trying to do. Help us try to help you.
Taking a second look, You sort local_BkFiles:
local_BkFiles.sort(key=str.upper)
Then you access local_PvFiles:
last_pv_File_Name = local_PvFiles[len(local_PvFiles)-1]
did you mean local_BkFiles?
(a full traceback would have pointed that out immediately)
-Larry
More information about the python-win32
mailing list