Source code for jwst.lib.file_utils
"""File utility functions."""
import os
from contextlib import contextmanager
from pathlib import Path
__all__ = ["pushdir"]
[docs]
@contextmanager
def pushdir(directory):
"""
Temporarily change to specified directory.
Parameters
----------
directory : File-like object
Directory to change to.
Returns
-------
new_directory : Path
The directory changed to.
"""
previous = Path.cwd()
try:
os.chdir(directory)
yield Path.cwd()
finally:
os.chdir(previous)