[Python-Dev] File system path encoding on Windows

Victor Stinner victor.stinner at gmail.com
Tue Aug 30 19:11:37 EDT 2016


2016-08-30 23:51 GMT+02:00 Victor Stinner <victor.stinner at gmail.com>:
> As I already wrote once, my problem is also tjat I simply have no idea how
> much Python 3 code uses bytes filename. For example, does it concern more
> than 25% of py3 modules on PyPi, or less than 5%?

I made a very quick test on Windows using a modified Python raising an
exception on bytes path.

First of all, setuptools fails. It's a kind of blocker issue :-) I
quickly fixed it (only one line needs to be modified).

I tried to run Twisted unit tests (python -m twisted.trial twisted) of
Twisted 16.4. I got a lot of exceptions on bytes path from the
twisted/python/filepath.py module, but also from
twisted/trial/util.py. It looks like these modules are doing their
best to convert all paths to... bytes. I had to modify more than 5
methods just to be able to start running unit tests.

Quick result: setuptools and Twisted rely on bytes path. Dropping
bytes path support on Windows breaks these modules.

It also means that these modules don't support the full Unicode range
on Windows on Python 3.5.

Victor


More information about the Python-Dev mailing list