En Python, ¿hay una función para verificar si un archivo / directorio determinado es un enlace simbólico? Por ejemplo, para los archivos a continuación, mi función contenedora debería regresar 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
python
operating-system
Bandicoot
fuente
fuente
lnk
yos.islink('a_shortcut.lnk')
regresanFalse
.IO_REPARSE_TAG_SYMLINK
).Para Python 3.4 y versiones posteriores, puede usar la clase Path
Debe tener cuidado al usar el método is_symlink (). Devolverá True incluso si el destino del enlace no existe, siempre que el objeto nombrado sea un enlace simbólico. Por ejemplo (Linux / Unix):
Luego, en su directorio actual, inicie Python
El programador tiene que decidir lo que realmente quiere. Python 3 parece haber cambiado el nombre de muchas clases. Puede que valga la pena leer la página del manual de la clase Path: https://docs.python.org/3/library/pathlib.html
fuente
is_symlink()
es cierto yexists()
es falso, que es lo que esperaría. ¿Puede dar una fuente de sus preocupaciones?is_symlink
está regresandotrue
para archivos inexistentes (por lo queexists()
también regresatrue
).Sin la intención de inflar este tema, pero fui redirigido a esta página porque estaba buscando enlaces simbólicos para encontrarlos y convertirlos en archivos reales y encontré este script dentro de la biblioteca de herramientas de Python.
fuente