create - pythonpath ubuntu
¿Cómo comprobar si una ruta es una ruta absoluta o relativa en una plataforma cruzada con Python? (7)
De otra manera, si no estás en el directorio de trabajo actual, un poco sucio, pero funciona para mí.
import re
path = ''my/relative/path''
# path = ''..my/relative/path''
# path = ''./my/relative/path''
pattern = r''([a-zA-Z0-9]|[.])+/''
is_ralative = bool(pattern)
La ruta absoluta de UNIX comienza con ''/'', mientras que Windows comienza con el alfabeto ''C:'' o ''/'. ¿Python tiene una función estándar para verificar si una ruta es absoluta o relativa?
El módulo os.path
tendrá todo lo que necesita.
En realidad, creo que ninguna de las respuestas anteriores aborda el verdadero problema: las rutas multiplataforma. Lo que os.path hace es cargar la versión dependiente del sistema operativo de la biblioteca ''path''. entonces la solución es cargar explícitamente la biblioteca de ruta relevante (OS):
import ntpath
import posixpath
ntpath.isabs("Z:/a/b/c../../H/I/J.txt")
True
posixpath.isabs("Z:/a/b/c../../H/I/J.txt")
False
Use os.path.isabs
.
Y si lo que realmente quieres es la ruta absoluta, no te molestes en verificar si es así, solo consigue el abspath
:
import os
print os.path.abspath(''.'')
os.path.isabs
devuelve True
si la ruta es absoluta, False
si no es así. La documentación dice que funciona en Windows (puedo confirmar que funciona en Linux personalmente).
os.path.isabs(my_path)
import os.path
os.path.isabs(''/home/user'')
True
os.path.isabs(''user'')
False