[Python-Dev] unicode imports
ronaldoussoren at mac.com
Sat Jun 17 18:04:54 CEST 2006
On 17-jun-2006, at 6:44, Nick Coghlan wrote:
> Bob Ippolito wrote:
>> There's a similar issue in that if sys.prefix contains a colon,
>> is also busted:
>> Of course, that's not a Windows issue, but it is everywhere else. The
>> offending code in that case is Modules/getpath.c,
> Since it has to do with the definition of Py_GetPath as returning a
> string that is really a DELIM separated list of strings, where
> DELIM is
> defined by the current platform (';' on Windows, ':' everywhere
> else), this
> seems more like a platform problem than a Python problem, though -
> you can't
> have directories containing a colon as an entry in PATH or
> PYTHONPATH either.
> It's not really Python's fault that the platform defines a legal
> character as the delimiter for path entries.
On unix-y systems any character except the NUL byte can be used in a
legal fileystem path, that leaves awfully little characters to use as
delimiter without risking issues like the one in the bug Bob mentioned.
> The only real alternative I can see is to normalise Py_GetPath to
> return a ';' delimited list of strings, regardless of platform, and
> PySys_SetPath accordingly. That'd cause potential compatibility
> problems for
> embedded interpreters, though.
That wouldn't help, ';' is also a valid character in filenames on
Unix. Except for accepting the status quo (which is a perfectly fine
alternative) there seem to be two valid ways to solve this problem.
You can either define Py_GetPath2 that returns a python list or
tuple, or introduce some way of quoting the delimiter. Both would be
More information about the Python-Dev