API de rutas
Las utilidades léxicas de rutas están disponibles bajo ptool.path y p.path.
ptool.path.join
v0.1.0- Introduced.
ptool.path.join(...segments) une varios segmentos de ruta y devuelve la ruta
normalizada.
segments(string, al menos uno): Segmentos de ruta.- Devuelve:
string.
Ejemplo:
print(ptool.path.join("tmp", "a", "..", "b")) -- tmp/b
ptool.path.normalize
v0.1.0- Introduced.
ptool.path.normalize(path) realiza normalización léxica de rutas
(procesamiento de . y ..).
path(string, obligatorio): La ruta de entrada.- Devuelve:
string.
Ejemplo:
print(ptool.path.normalize("./a/../b")) -- b
ptool.path.abspath
v0.1.0- Introduced.
ptool.path.abspath(path[, base]) calcula una ruta absoluta.
path(string, obligatorio): La ruta de entrada.base(string, opcional): El directorio base. Si se omite, se usa el directorio de trabajo del proceso actual.- Devuelve:
string. - Solo acepta 1 o 2 argumentos de tipo string.
Ejemplo:
print(ptool.path.abspath("src"))
print(ptool.path.abspath("lib", "/tmp/demo"))
ptool.path.relpath
v0.1.0- Introduced.
ptool.path.relpath(path[, base]) calcula una ruta relativa desde base hasta
path.
path(string, obligatorio): La ruta objetivo.base(string, opcional): El directorio inicial. Si se omite, se usa el directorio de trabajo del proceso actual.- Devuelve:
string. - Solo acepta 1 o 2 argumentos de tipo string.
Ejemplo:
print(ptool.path.relpath("src/main.rs", "/tmp/project"))
ptool.path.isabs
v0.1.0- Introduced.
ptool.path.isabs(path) comprueba si una ruta es absoluta.
path(string, obligatorio): La ruta de entrada.- Devuelve:
boolean.
Ejemplo:
print(ptool.path.isabs("/tmp")) -- true
ptool.path.dirname
v0.1.0- Introduced.
ptool.path.dirname(path) devuelve la parte de nombre de directorio.
path(string, obligatorio): La ruta de entrada.- Devuelve:
string.
Ejemplo:
print(ptool.path.dirname("a/b/c.txt")) -- a/b
ptool.path.basename
v0.1.0- Introduced.
ptool.path.basename(path) devuelve el último segmento de la ruta
(la parte del nombre de archivo).
path(string, obligatorio): La ruta de entrada.- Devuelve:
string.
Ejemplo:
print(ptool.path.basename("a/b/c.txt")) -- c.txt
ptool.path.extname
v0.1.0- Introduced.
ptool.path.extname(path) devuelve la extensión, incluido el .. Si no hay
extensión, devuelve una cadena vacía.
path(string, obligatorio): La ruta de entrada.- Devuelve:
string.
Ejemplo:
print(ptool.path.extname("a/b/c.txt")) -- .txt
Notas:
- El manejo de rutas en
ptool.pathes puramente léxico. No comprueba si las rutas existen ni resuelve enlaces simbólicos. - Ninguna de las interfaces acepta argumentos de cadena vacía. Pasar uno produce un error.