когда я даю 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
как заменить ..
с фактическим полным путем родительского каталога символьной ссылки или файла гибкой ссылки.
http://docs.python.org/library/os.path.html#os.path.abspath
также joinpath и normpath, в зависимости от того, находитесь ли вы в текущем рабочем каталоге или работаете с чем-то в другом месте. normpath может быть более прямым для вас.
Обновление:
специально:
os.path.normpath(
os.path.join(
os.path.dirname( '/etc/fonts/conf.d/70-yes-bitmaps.conf' ),
os.readlink('/etc/fonts/conf.d/70-yes-bitmaps.conf')
)
)
os.path.realpath(path)
os.path.realpath возвращает канонический путь указанного имени файла, удаляя любые символические ссылки, встречающиеся в пути.