import contextlib | |
import os | |
@contextlib.contextmanager | |
def override_environ(**kwargs): | |
save_env = dict(os.environ) | |
for key, value in kwargs.items(): | |
if value is None: | |
del os.environ[key] | |
else: | |
os.environ[key] = value | |
try: | |
yield | |
finally: | |
os.environ.clear() | |
os.environ.update(save_env) |