Указание дескриптора файла: обычно аргумент пути, предоставляемый функциям в модуле os
, должен быть строкой, указывающей путь к файлу.
Некоторые функции теперь альтернативно принимают дескриптор открытого файла в качестве аргумента пути. Затем функция будет работать с файлом, на который ссылается дескриптор. Для систем POSIX Python будет вызывать вариант функции с префиксом 'f'
, например вызывать fchdir
вместо chdir
.
Вы можете проверить, можно ли указать путь в качестве дескриптора файла для конкретной функции на вашей платформе при помощи функции, описанной ниже
import os os.supports_fd
Функция supports_fd
модуля os
возвращает объект set
, указывающий, какие функции в модуле os позволяют указывать параметр пути в качестве дескриптора открытого файла на локальной платформе.
Базовая функциональность, которую Python использует для принятия дескрипторов открытых файлов в качестве аргументов пути, доступна не на всех платформах, поддерживаемых Python.
Чтобы определить, разрешает ли конкретная функция указывать дескриптор открытого файла для параметра пути, используйте оператор in
для support_fd
. Например, это выражение оценивается как True
, если функция os.chdir()
принимает дескрипторы открытого файла для пути на вашей локальной платформе:
>>> import os >>> os.chdir in os.supports_fd # True