Manejo de rutas y archivos con el módulo pathlib de Python
¿Qué es el módulo pathlib de Python?[editar]
El módulo `pathlib` simplifica varias tareas comunes relacionadas con rutas de archivos y directorios. Crear ficheros y rutas, saber si existen, verificar su extensión, etc.
Crear Objetos Path[editar]
El objeto Path
representa un path de un archivo o directorio en nuestro sistema de ficheros. En el siguiente ejemplo creamos una instancia de Path
.
from pathlib import Path
# Crear un objeto Path
ruta = Path('mi_directorio/mi_archivo.txt')
print(ruta)
# Salida: mi_directorio/mi_archivo.txt
Comprobar Existencia y Tipos[editar]
Una vez creado, podemos verificar si existe, si es un fichero o un directorio.
from pathlib import Path
ruta = Path('mi_directorio/mi_archivo.txt')
# Comprobar si la ruta existe
print(ruta.exists())
# Salida: False (suponiendo que la ruta no existe)
# Comprobar si es un archivo
print(ruta.is_file())
# Salida: False
# Comprobar si es un directorio
print(ruta.is_dir())
# Salida: False
Crear Directorios[editar]
Si es un directorio y no existe, podemos crearlo. Si en parents
ponemos True
, se generará también cualquier directorio padre que no exista.
from pathlib import Path
# Crear un nuevo directorio
ruta_directorio = Path('directorio_padre/mi_nuevo_directorio')
ruta_directorio.mkdir(parents=True, exist_ok=True)
print(f"Directorio creado: {ruta_directorio}")
[editar]
Si es un directorio, podemos consultar que ficheros o subdirectorios hay en dicho directorio.
from pathlib import Path
# Navegar por el sistema de archivos
ruta = Path('mi_directorio')
# Listar todos los archivos y directorios en la ruta
for item in ruta.iterdir():
print(item)
Leer y Escribir Archivos[editar]
Si es un fichero, podemos escribir o leer de él.
from pathlib import Path
ruta = Path('mi_archivo.txt')
# Escribir en un archivo
ruta.write_text('Hola, mundo!')
# Leer desde un archivo
contenido = ruta.read_text()
print(contenido)
# Salida: Hola, mundo!
Trabajar con Rutas Absolutas y Relativas[editar]
A partir de una ruta relativa, podemos obtener la ruta absoluta de dicho fichero o directorio.
from pathlib import Path
ruta_relativa = Path('mi_directorio/mi_archivo.txt')
# Obtener la ruta absoluta
ruta_absoluta = ruta_relativa.resolve()
print(ruta_absoluta)
# Salida: /ruta/completa/a/mi_directorio/mi_archivo.txt (dependerá del sistema)
Consulta de Rutas[editar]
A partir de un Path
de un fichero podemos hacer algunas consultas, como el nombre del fichero, la extensión, el directorio padre, etc.
from pathlib import Path
ruta = Path('mi_directorio/mi_archivo.txt')
# Obtener el nombre del archivo
print(ruta.name)
# Salida: mi_archivo.txt
# Obtener la extensión del archivo
print(ruta.suffix)
# Salida: .txt
# Obtener el directorio padre
print(ruta.parent)
# Salida: mi_directorio