[Python-Dev] casefolding in pathlib (PEP 428) (original) (raw)
Ralf Schmitt ralf at systemexit.de
Fri Apr 12 19:42:25 CEST 2013
- Previous message: [Python-Dev] casefolding in pathlib (PEP 428)
- Next message: [Python-Dev] casefolding in pathlib (PEP 428)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Guido van Rossum <guido at python.org> 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 prependmagicwin32(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
- Previous message: [Python-Dev] casefolding in pathlib (PEP 428)
- Next message: [Python-Dev] casefolding in pathlib (PEP 428)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]