Eryk Sun <eryk...@gmail.com> added the comment:

Supporting __fspath__ for os.environ[b] makes it consistent with POSIX 
os.putenv, which already supports it via PyUnicode_FSConverter. For example:

    os.putenv(Path('spam'), Path('eggs'))
    getenv = ctypes.CDLL('libc.so.6').getenv
    getenv.restype = ctypes.c_char_p

    >>> getenv(b'spam')
    b'eggs'

For symmetry, os.putenv in Windows could be updated to support __fspath__. An 
old patch for bpo-28188 implements this, along with bytes support, via 
PyUnicode_FSDecoder. But bytes support would be limited to UTF-8 strings, so it 
wouldn't be as flexible as os.environb in POSIX, which supports arbitrary bytes 
except for embedded nulls.

----------
nosy: +eryksun

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue39461>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to