Python Glossary English

все Python 3Linux · macOSosфункция

os.fchdir

os — каталоги

Меняет текущий каталог на тот, что задан открытым дескриптором. Доступно на Unix.

Синтаксис

os.fchdir(...)

Дескриптор должен указывать на открытый каталог, а не на файл. Полезна, чтобы вернуться в каталог, даже если его переименовали или путь к нему стал недоступен: дескриптор держит сам каталог, а не путь. С Python 3.3 то же делает os.chdir(fd).

Примеры

import os
back = os.open('.', os.O_RDONLY)   # → ? только Unix: дескриптор текущего каталога — «закладка», чтобы вернуться
os.chdir('/tmp')   # → ? текущий каталог сменён на /tmp (обычный переход по пути)
os.fchdir(back)   # → ? только Unix: возврат в исходный каталог по дескриптору, а не по строке пути
os.close(back)   # → ? дескриптор освобождён; следующий os.fchdir(back) даст OSError: Bad file descriptor
os.fchdir(os.open('/etc/hosts', os.O_RDONLY))   # → NotADirectoryError: нужен дескриптор каталога, а не файла

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности