file names longer than MAX_PATH under Windows 2003

Claudio Grondi claudio.grondi at freenet.de
Wed Feb 15 10:52:30 EST 2006


Sergey wrote:
> "Tim Golden" <tim.golden at viacom-outdoor.co.uk> wrote in message news:mailman.1900.1139925147.27775.python-list at python.org...
> [Sergey]
> 
> 
>>I see from another post that CreateFile cannot open your file.
>>That puts it further away from Python, although it doesn't
>>explain how some other program can see the files. Can you use
>>os.startfile (or its equivalent win32api.ShellExecute from
>>pywin32)? Perhaps if you were to chdir to the directory in
>>question you'd be able to access the file.
> 
> 
> I found error in filename (extra backslash) and now I can open file.
> But another trouble appeared: I cannot listdir so long name.
> I examined posixmodule.c... There are wcsncpy with hard limit of MAX_PATH*2+5.
> So... RIP, my module...
> 
> 
I don't know if and how it apply and can be of any help here, but in my 
C programs in the very past after switching from DOS to Windows long 
names a following trick solved often my problems with too long names:
   step 1:  setting the current directory to the beginning part of the 
name with a length which can be passed as a function parameter
   step 2:  usage of the remaining part of name as name passed as 
parameter to the file accessing function (relative to current directory)

Claudio



More information about the Python-list mailing list