← Volver

Qué es el directorio actual de trabajo (cwd)

El directorio actual de trabajo (usualmente abreviado cwd por sus siglas en inglés, current working directory) es una ruta que se asocia a un proceso al momento de ejecutarlo. Cuando el proceso interactúa con el sistema de archivos, el sistema operativo resuelve las rutas relativas respecto del directorio actual de trabajo. Por ejemplo, el siguiente código crea un nuevo archivo de nombre saludo.txt y escribe en él un saludo:

import pathlib
pathlib.Path("saludo.txt").write_text("¡Hola, mundo!", "utf8")

Puesto que saludo.txt es una ruta relativa (una ruta absoluta sería algo como C:\Archivos\saludo.txt o /home/Desktop/archivo.txt), en qué lugar se creará el archivo al momento de ejecutar el código dependerá del directorio actual de trabajo. Así, si el directorio actual de trabajo asignado al proceso que ejecuta este código es C:\Archivos, la ruta relativa saludo.txt será resuelta como C:\Archivos\saludo.txt, dirección final donde se creará el archivo. El desconocimiento del directorio del trabajo asignado a un proceso puede originar errores al trabajar con archivos, especialmente la excepción FileNotFoundError cuando el sistema no encuentra un archivo.

El directorio actual de trabajo es establecido por el agente (la terminal, el editor de código, el sistema operativo u otros programas) que inicia el proceso. Si el proceso es iniciado desde la terminal, el directorio actual de trabajo asignado es la ruta donde se encuentra ubicada la terminal. Por ejemplo:



Programas ejecutados desde esta terminal tendrán como directorio actual de trabajo la ruta C:\Users\franc.

En las aplicaciones de escritorio, por lo general el directorio actual es la misma carpeta donde se encuentra ubicado el programa. En un archivo de Python se puede conocer el directorio actual de trabajo vía la función estándar os.getcwd():

import os
print("Directorio actual de trabajo:", os.getcwd())

cwd terminal archivos


👨‍💻 ¡Ya lanzamos el curso oficial de Recursos Python en Udemy! Un curso moderno para aprender Python desde cero con programación orientada a objetos, SQL y tkinter en 2024.

🐍 También te puede interesar:


💡 Ofrecemos servicios profesionales de desarrollo y capacitación en Python a personas y empresas. Consultanos por tu proyecto.