Re: [Python-Dev] casefolding in pathlib (PEP 428)

2013年4月12日 10:44:26 -0700

Guido van Rossum <[email protected]> writes:
> Actually, I've heard of code that dynamically falls back on short
> names when paths using long names exceed the system limit for path
> length (either 256 or 1024 IIRC). But short names pretty much require
> consulting the filesystem, so we can probably ignore them.
The limit is 260 characters. But longer paths can be handled by
prepending \\?\ and using the unicode APIs.
see http://msdn.microsoft.com/en-us/library/aa365247.aspx#maxpath
we have the following code to handle the above insanity:
,----
| def prepend_magic_win32(path):
| assert isinstance(path, unicode), "path must be of type unicode"
| 
| if path.startswith(u"\\\\"):
| if path.startswith(u"\\\\?\\"):
| return path
| else:
| return u"\\\\?\\UNC\\" + path[2:]
| else:
| return u"\\\\?\\" + path
`----
-- 
Cheers
Ralf
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to