Crear la ruta "./data/raw/" independiente del sistema operativo. En este caso usaremos os, un módulo de Python que sirve para manejar rutas.
IMPORTANTE: cerciórate de que estás trabajando en el entorno correcto.
Implementación
Dentro del notebook de jupyter:
import os
CURRENT_DIR= os.getcwd() # Ruta actual de trabajo
DATA_DIR= os.path.join(CURRENT_DIR, os.pardir,"data","raw") # Rutaobjetivo(os.pardir: ruta padre)os.path.exists(DATA_DIR) # Revisa si el path existe
os.path.isdir(DATA_DIR) # Revisa si es un directorio
os.listdir(DATA_DIR) # Itera por los archivos dentro del directorio
os.mkdir(os.path.join(DATA_DIR,"os")) # Crea la carpeta *"os"*
No olvidar que en la clase anterior se colo el archivo Jupyter dentro de la carpeta "nested", pero en el ejemplo de esta clase se encuentra nuevamente en "notebook" y fuera de "nested"
Muy observador!
Gracias Sergio, por la observación.
Manejo de Excepciones
La documentación nos resalta y recuerda lo importante que es el manejo de excepciones, por ejemplo si tenemos un proceso iterativo y queremos que finalice por todos los elementos así sea que durante su ejecución tenga errores.
Note All functions in this module raise OSError (or subclasses thereof) in the case of invalid or inaccessible file names and paths, or other arguments that have the correct type, but are not accepted by the operating system.
os — Miscellaneous operating system interfaces¶
Gracias por el aporte.
Manejo de Rutas del sistema: OS
Utiliza la libreria OS de Python para manejar las rutas dentro de cualquier sistema operativo.
Implementacion
Cerciorate de que estes trabajando en el entorno correcto
Muestra la Ruta actual
import os
CURRENT_DIR = os.getcwd()# Ruta actual de trabajoprint(CURRENT_DIR)
Ir a la Directorio Padre. Retroceder un directorio
# os.pardir indica el directorio padreos.path.abspath(os.path.join(CURRENT_DIR, os.pardir))
El manejo de rutas del sistema es esencial para trabajar con archivos y directorios en un programa. El módulo osen Python proporciona funciones para interactuar con el sistema operativo, incluida la manipulación de rutas de manera efectiva y portátil.
Obtener la Ruta Actual:
Puedes usar os.getcwd()para obtener la ruta absoluta del directorio actual.
import os
current_dir = os.getcwd()print("Directorio actual:", current_dir)
Unir Rutas:
os.path.join() te permite unir partes de rutas en una ruta única y válida compatible con el sistema.
os.listdir() devuelve una lista de nombres de archivos y carpetas en un directorio.
directorio ="/ruta/del/directorio"archivos = os.listdir(directorio)print("Archivos en el directorio:", archivos)
Verificar si es Archivo o Directorio:
os.path.isfile() verifica si una ruta dada es un archivo, y os.path.isdir()verifica si es un directorio.
ruta ="/ruta/carpeta"if os.path.isdir(ruta):print("Es un directorio")elif os.path.isfile(ruta):print("Es un archivo")else:print("No es un archivo ni un directorio")
Me encanta ver como se usa os de python veo que es un módulo para importar muy útil
Si.. Tambien me parecio muy util
estoy aprendiendo de ceros y realizando la ruta de análisis de datos y siento que esto es importante pero no entiendo en qué contexto usarlo. Lo que he visto de análisis ha sido en Google Colab o Deepnote, así que me confunde un poco no saber en la práctica para que se usa
Hola juan yo tambien siento lo mismo. Espero que cuando finalice este curso se entienda mejor el para que y el porque. Veo que comentaste hace 3 meses. En el dia a dia, osea en la vida real. Estas usando esta herramienta? Cokiecuttter?
Cuando se asigna una variable para una ruta de debe trabajar en mayúsculas? esto tiene alguna implicación en el resultado?
FileNotFoundError: [Errno 2] No such file or directory: '/home/raul/manejoe_de_rutas/notebooks/nested/../data/raw/os'
me sale este error, me pueden ayudar por favor?
Antes de crear una subcarpeta con os.mkdir, necesitas asegurarte de que la carpeta 'data/raw' exista usando os.path.exists y os.path.isdir.
Muchas gracias por tu ayuda, ya resolvi
Buenos dias al descargar el archivo de los recursos y pasarlo a visual studio code me sale este error:
Running cells with '/usr/bin/python3.11' requires ipykernel package.
Run the following command to install 'ipykernel' into the Python environment.
Command: '/usr/bin/python3.11 -m pip install ipykernel -U --user --force-reinstall'
#creacion de nueva carpeta :os.mkdir(os.path.join(DATA_DIR,"pepe"))``````js
#Remove de nueva carpeta :os.rmdir(os.path.join(DATA_DIR,"pepe"))
import os
CURRENT_DIR= os.getcwd() # Ruta actual de trabajo
DATA_DIR= os.path.join(CURRENT_DIR, os.pardir,"data","raw") # Rutaobjetivo(os.pardir: ruta padre)os.path.exists(DATA_DIR) # Revisa si el path existe
os.path.isdir(DATA_DIR) # Revisa si es un directorio
os.listdir(DATA_DIR) # Itera por los archivos dentro del directorio
os.mkdir(os.path.join(DATA_DIR,"os")) # Crea la carpeta *"os"*
Me recuerda mucho viniendo del mundo dev, a node.js y sus librerias populares como fs. Para el manejo de componentes externos.