diff --git a/Lib/os.py b/Lib/os.py index d974c59fa0f..51e8a67fca5 100644 --- a/Lib/os.py +++ b/Lib/os.py @@ -121,3 +121,22 @@ if name == 'nt': list.append(line[:-1]) line = f.readline() return list + + +# Change environ to automatically call putenv() if it exists +try: + _putenv = putenv +except NameError: + _putenv = None +if _putenv: + import UserDict + + class _Environ(UserDict.UserDict): + def __init__(self, environ): + UserDict.UserDict.__init__(self) + self.data = environ + def __setitem__(self, key, item): + putenv(key, item) + self.data[key] = item + + environ = _Environ(environ)