import contextlib # Новое в Python 3.11. with contextlib.chdir(path) as chdir: ...
path
- временный рабочий каталог.Класс chdir()
модуля contextlib
безопасный контекстный менеджер для изменения текущего рабочего каталога.
Так как
contextlib.chdir()
изменяет глобальное состояние и рабочий каталог, следовательно он не подходит для использования в большинстве многопоточных или асинхронных контекстов. Он также не подходит для выполнения большинства нелинейных кодов, таких как генераторы, где выполнение программы временно прекращается. Если это явно не требуется, необходимо избегать работу таких генераторов, когда этот менеджер контекста активен.
Контекстный менеджер contextlib.chdir()
- это простая обертка вокруг os.chdir()
, она меняет текущий рабочий каталог при входе и восстанавливает старый при выходе.
Этот менеджер контекста является реентерабельным.
Новое в версии 3.11.