[issue4887] environment inspection and manipulation API is buggy, inconsistent with "Python philosophy" for wrapping native APIs

Martin Panter report at bugs.python.org
Mon Sep 22 04:12:49 CEST 2014


Martin Panter added the comment:

I suspect the $PATH example is a bad example. On my Linux setup, my initial PATH value is a customized path. After popping it and calling system(), I see a simpler default path, which is probably re-initialized somewhere else.

I suspect there is no environ.pop() bug. Everthing works according the documentation if you use another environment variable:

$ TEST_VARIABLE=value python
Python 3.4.0 (default, Mar 17 2014, 23:20:09) 
[GCC 4.8.2 20140206 (prerelease)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.system('echo "$TEST_VARIABLE"')
value
0
>>> os.environ.pop("TEST_VARIABLE")
'value'
>>> os.system('echo "$TEST_VARIABLE"')

0

The other point in this report, about synchronizing “os.environ” with the C APIs, is a duplicate of Issue 1159.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue4887>
_______________________________________


More information about the Python-bugs-list mailing list