diff options
author | Victor Stinner <victor.stinner@haypocalc.com> | 2010-05-06 22:05:07 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@haypocalc.com> | 2010-05-06 22:05:07 (GMT) |
commit | 84ae1180063a6f9fc39c22a5977b49aaac8c3b3c (patch) | |
tree | 188bac431d36a612b99a98fc263a0baa96ce67c2 /Doc/library/posix.rst | |
parent | d930b63583a8dc1ece9407652636209a3d396149 (diff) | |
download | cpython-84ae1180063a6f9fc39c22a5977b49aaac8c3b3c.zip cpython-84ae1180063a6f9fc39c22a5977b49aaac8c3b3c.tar.gz cpython-84ae1180063a6f9fc39c22a5977b49aaac8c3b3c.tar.bz2 |
Issue #8603: Create a bytes version of os.environ for Unix
Create os.environb mapping and os.getenvb() function, os.unsetenv() encodes str
argument to the file system encoding with the surrogateescape error handler
(instead of utf8/strict) and accepts bytes, and posix.environ keys and values
are bytes.
Diffstat (limited to 'Doc/library/posix.rst')
-rw-r--r-- | Doc/library/posix.rst | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/Doc/library/posix.rst b/Doc/library/posix.rst index c33d9e5..d65b999 100644 --- a/Doc/library/posix.rst +++ b/Doc/library/posix.rst @@ -69,17 +69,22 @@ In addition to many functions described in the :mod:`os` module documentation, .. data:: environ A dictionary representing the string environment at the time the interpreter - was started. For example, ``environ['HOME']`` is the pathname of your home - directory, equivalent to ``getenv("HOME")`` in C. + was started. Keys and values are bytes on Unix and str on Windows. For + example, ``environ[b'HOME']`` (``environ['HOME']`` on Windows) is the + pathname of your home directory, equivalent to ``getenv("HOME")`` in C. Modifying this dictionary does not affect the string environment passed on by :func:`execv`, :func:`popen` or :func:`system`; if you need to change the environment, pass ``environ`` to :func:`execve` or add variable assignments and export statements to the command string for :func:`system` or :func:`popen`. + .. versionchanged:: 3.2 + On Unix, keys and values are bytes. + .. note:: - The :mod:`os` module provides an alternate implementation of ``environ`` which - updates the environment on modification. Note also that updating ``os.environ`` - will render this dictionary obsolete. Use of the :mod:`os` module version of - this is recommended over direct access to the :mod:`posix` module. + The :mod:`os` module provides an alternate implementation of ``environ`` + which updates the environment on modification. Note also that updating + :data:`os.environ` will render this dictionary obsolete. Use of the + :mod:`os` module version of this is recommended over direct access to the + :mod:`posix` module. |