From my ipython shell, I see a method setdefault in os.environ but it is not documented. http://docs.python.org/library/os.html#os.environ. Is it documented somewhere else?
The os.environ documentation does state it's a mapping:
A mapping object representing the string environment.
As such it behaves according to the python mapping documentation of which dict
is the standard implementation.
os.environ
therefor behaves just like the standard dict, it has all the same methods:
>>> import os
>>> len(os.environ)
36
>>> 'USER' in os.environ
True
>>> os.environ.fromkeys
>
The .setdefault method is documented on the same page as the rest of the mapping methods, and you can use it just fine as is.