Многие методы модуля os
(см. документация ) поддерживают пути относительно файловых дескрипторов (dir_fd
), например, метод unlink
:
os.unlink(path, *, dir_fd=None)
В некоторых случаях я полагался на эту функцию, хотя она не поддерживается для всех файловых методов os
.Это отсутствует для truncate
(до и включая Python 3.7), например:
os.truncate(path, length)
Как я могу обойти эту проблему?
Моя лучшая идея на данный момент - явно открыть файл:
fd = os.open(path, flags = os.O_WRONLY | os.O_TRUNC, ... , dir_fd=dir_fd)
os.ftruncate(fd, length)
os.close(fd)
Мне было интересно, есть ли лучший метод.