Manipulación de rutas
Una, resuelva e inspeccione rutas
Manipulación de rutas es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 4 lecciones en total.
Inspeccionar y transformar rutas
Además de construir rutas, pathlib permite convertirlas a formato absoluto, comprobar las relaciones entre ellas y leer metadatos del sistema de archivos, todo ello sin usar os.path.
Absolutas y relativas
is_absolute() indica si una ruta está anclada en la raíz. Las rutas relativas se interpretan con respecto al directorio actual.
from pathlib import Path
print(Path('docs/file.txt').is_absolute())
print(Path('/usr/local').is_absolute())Resolver una ruta
resolve() convierte una ruta en una ruta absoluta y simplifica los segmentos . y ... Es la opción habitual para normalizar rutas.
from pathlib import Path
p = Path('a/b/../c/file.txt')
print(p.resolve())Unir con joinpath
Además del operador /, joinpath() añade uno o más componentes. Resulta útil cuando las partes proceden de una lista.
from pathlib import Path
base = Path('project')
parts = ['src', 'main', 'app.py']
print(base.joinpath(*parts))Rutas relativas entre dos ubicaciones
relative_to() calcula la ruta de una ubicación con respecto a otra. Genera una excepción si la ruta no se encuentra dentro de la base indicada.
from pathlib import Path
full = Path('/home/user/docs/report.txt')
rel = full.relative_to('/home/user')
print(rel)Comprobar un prefijo con is_relative_to
is_relative_to() comprueba de forma segura si una ruta se encuentra dentro de otra y devuelve un valor booleano en lugar de generar una excepción.
from pathlib import Path
p = Path('/home/user/docs/file.txt')
print(p.is_relative_to('/home/user'))
print(p.is_relative_to('/etc'))Varias extensiones
Para nombres como archive.tar.gz, suffixes muestra todas las extensiones, mientras que suffix proporciona únicamente la última.
from pathlib import Path
p = Path('archive.tar.gz')
print(p.suffix)
print(p.suffixes)Anclaje y unidad
La propiedad anchor es la parte raíz de la ruta. En POSIX suele ser /; en Windows incluye la letra de la unidad.
from pathlib import Path
p = Path('/usr/local/bin')
print('anchor:', p.anchor)
print('parts:', p.parts)Leer metadatos de archivos
stat() devuelve metadatos del sistema de archivos, como el tamaño en bytes. Aquí crearemos un archivo y leeremos su tamaño.
from pathlib import Path
p = Path('meta.txt')
p.write_text('hello world')
print('size:', p.stat().st_size, 'bytes')Cambiar de nombre y mover
rename() cambia la ubicación o el nombre de una ruta. Combinado con los métodos de construcción, permite reorganizar archivos de forma concisa.
from pathlib import Path
old = Path('old_name.txt')
old.write_text('data')
new = old.with_name('new_name.txt')
old.rename(new)
print(new.exists(), new.read_text())Expandir el acceso directo al directorio personal
expanduser() reemplaza un ~ inicial por el directorio personal del usuario, reproduciendo la forma en que lo expande el shell.
from pathlib import Path
p = Path('~/configs/app.ini')
expanded = p.expanduser()
print(expanded.is_absolute())Comprobación rápida
¿Qué hace el método resolve() con una ruta?
Resumen
Ha aprendido a unir, resolver e inspeccionar rutas.
resolvecrea una ruta absoluta y normalizada.relative_toeis_relative_tocomparan ubicaciones.suffix,suffixes,anchorypartsmuestran la estructura.statlee metadatos yrenamemueve archivos.
Preguntas frecuentes
¿La lección «Manipulación de rutas» es gratis?
Sí — el texto completo de «Manipulación de rutas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Manipulación de rutas»?
Una, resuelva e inspeccione rutas Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Python Academy?
No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Manipulación de rutas»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Python Academy?
Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- El objeto Path
- Lectura y escritura de archivos
- Globbing e iteración
- Manipulación de rutas