Curso-lenguaje-python/python-total/dia_06/05_path.py
Manuel Vergara f4e9797c4b Restructure content and add notes from HolaMundo
Signed-off-by: Manuel Vergara <manuel@vergaracarmona.es>
2023-05-20 09:36:26 +02:00

67 lines
1.5 KiB
Python

"""
path
"""
# Ruta relativa
from pathlib import Path
guia = Path("Barcelona", "Sagrada_Familia.txt")
print(guia)
print("-"*25)
# Ruta absoluta al directorio de usuario activo
base = Path.home()
# Con lo cual, si lo unimos a la ruta relativa
# nos dará una ruta absoluta
# (siguiento el path que le hemos dado)
# Admite cadenas como objetos de path
# podemos concatenar varios trozos de paths
mi_ruta = Path('Documents/projectes/python/python_total/dia_06')
guia2 = Path(base, mi_ruta, "Europa", "España", Path(
"Barcelona", "Sagrada_Familia.txt"))
print(base)
print(guia2)
print("-"*25)
# Utilizando la ruta absoluta anterior,
# podemos cambiar el fichero de destino
guia3 = guia2.with_name("La_Pedrera.txt")
print(guia3)
print("-"*25)
# Acceder a directorios intermedios
# con parent accedemos al path superior cada vez que lo usamos
# Igual que los dos puntos en cd. (..)
print(guia2.parent.parent.parent)
print("-"*25)
# Enumerar todos los archivos txt
# # Primero hacemos la ruta
guia4 = Path(base, mi_ruta, "Europa")
# # Con el método glob recorremos cada objeto de la ruta
# # con un for
for txt in Path(guia4).glob("*.txt"):
print(txt)
print("-"*25)
# # Recursivo o_O
for txt in Path(guia4).glob("**/*.txt"):
print(txt)
print("-"*25)
# Para acceder a rutas relativas a partir de una base de rutas absolutas
guia5 = Path("Europa", "España", "Barcelona", "Sagrada_Familia.txt")
en_europa = guia5.relative_to("Europa")
en_espania = guia5.relative_to("Europa", "España")
print(en_europa)
print(en_espania)