Проверьте, является ли файл символической ссылкой в ​​python

В python есть функция, чтобы проверить, является ли данный файл / каталог символической ссылкой? Например, для следующих файлов моя функция-обертка должна возвращать значение True .

 # ls -l total 0 lrwxrwxrwx 1 root root 8 2012-06-16 18:58 dir -> ../temp/ lrwxrwxrwx 1 root root 6 2012-06-16 18:55 link -> ../log 

2 Solutions collect form web for “Проверьте, является ли файл символической ссылкой в ​​python”

Чтобы определить, является ли запись в каталоге символической ссылкой, используйте это:

os.path.islink (путь)

Вернуть True, если путь относится к записи каталога, которая является символической ссылкой. Всегда False, если символические ссылки не поддерживаются.

Например, учитывая:

 drwxr-xr-x 2 root root 4096 2011-11-10 08:14 bin/ drwxrwxrwx 1 root root 57 2011-07-10 05:11 initrd.img -> boot/initrd.img-2.. >>> import os.path >>> os.path.islink('initrd.img') True >>> os.path.islink('bin') False 

Для python 3.4 и выше вы можете использовать класс Path

 from pathlib import Path # rpd is a symbolic link >>> Path('rdp').is_symlink() True >>> Path('README').is_symlink() False 

Вы должны быть осторожны при использовании метода is_symlink (). Он вернет True, даже если цель ссылки отсутствует, если именованный объект является символической ссылкой. Например (Linux / Unix):

 ln -s ../nonexistentfile flnk 

Затем в вашем текущем каталоге запустите python

 >>> from pathlib import Path >>> Path('flnk').is_symlink() True >>> Path('flnk').exists() False 

Программист должен решить, что он / она реально хочет. Python 3, похоже, переименовал множество классов. Возможно, стоит прочитать страницу руководства для класса Path: https://docs.python.org/3/library/pathlib.html

  • Как вы можете использовать os.chdir для перехода на путь за вычетом последнего шага?
  • Нет модуля с именем «x» при перезагрузке с помощью os.execl ()
  • Вывод BeautifulSoup в файл .txt
  • Как изменить права пользователя и группы для каталога по имени?
  • Имена файлов Python os.stat и unicode
  • Возможно ли создать операционную систему с использованием Python?
  • Как скопировать каталог и его содержимое в существующее место с помощью Python?
  • Поиск и печать имени файла нулевой длины в python
  • Python - лучший язык программирования в мире.