import os # Use this to manage 'cd' context from contextlib import contextmanager @contextmanager def cd(newdir): """ Return to prevdir when context is exited. Use in the following manner: with cd("foodir"): operation1_in_foodir operation2_in_foodir operation3_in_prevdir """ prevdir = os.getcwd() os.chdir(os.path.expanduser(newdir)) try: yield finally: os.chdir(prevdir)