как найти конечный файл полным (полный путь) символьной ссылки или гибкой ссылки в Python

когда я даю ls-l/etc/fonts/conf.d/70-yes-bitmaps.conf

lrwxrwxrwx <snip> /etc/fonts/conf.d/70-yes-bitmaps.conf -> ../conf.avail/70-yes-bitmaps.conf

таким образом для символьной ссылки или гибкой ссылки, как найти конечный файл полным (полный путь) в Python,

Если я использую

os.readlink('/etc/fonts/conf.d/70-yes-bitmaps.conf')

это производит

../conf.avail/70-yes-bitmaps.conf

но мне нужен полный путь не относительный путь, таким образом, мой желаемый вывод должен быть,

/etc/fonts/conf.avail/70-yes-bitmaps.conf

как заменить .. с фактическим полным путем родительского каталога символьной ссылки или файла гибкой ссылки.

58
задан 11 July 2010 в 00:36

1 ответ

Я рекомендую использовать pathlib библиотека для операций файловой системы.

import pathlib

x = pathlib.Path('lol/lol/path')
x.resolve()

Документация для Path.resolve(strict=False): сделайте путь абсолютным, разрешив любые символьные ссылки. Возвращается новый объект контуров.

0
ответ дан 1 November 2019 в 13:52

Другие вопросы по тегам:

Похожие вопросы: