Conocer el directorio de trabajo actual en Python

Cada programa que se ejecuta en su ordenador tiene un directorio de trabajo actual, o cwd ( de inglés current working directory). Cualquier nombre de archivo o ruta que no comience con la carpeta raíz se supone que está bajo el directorio de trabajo actual.

Puede obtener el directorio de trabajo actual como un valor de cadena con la función Path.cwd() y cambiarlo utilizando os.chdir(). Introduzca lo siguiente en el shell interactivo:

>>> from pathlib import Path
>>> import os
>>> Path.cwd()
WindowsPath('C:/Users/Al/AppData/Local/Programs/Python/Python37')'
>>> os.chdir('C:\\Windows\\System32')
>>> Path.cwd()
WindowsPath('C:/Windows/System32')

Aquí, el directorio de trabajo actual se establece en C:\Users\Al\AppData\Local\Programs\Python\Python37, por lo que el nombre del archivo project.docx se refiere a C:\Users\Al\AppData\Local\Programs\Python\Python37\project.docx. Cuando cambiamos el directorio de trabajo actual a C:\Windows\System32, el nombre del archivo project.docx se interpreta como C:\Windows\System32\project.docx.

Python mostrará un error si intenta cambiar a un directorio que no existe.

>>> os.chdir('C:/ThisFolderDoesNotExist')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
FileNotFoundError: [WinError 2] The system cannot find the file specified:
'C:/ThisFolderDoesNotExist'

No hay una función pathlib para cambiar el directorio de trabajo, porque cambiar el directorio de trabajo actual mientras un programa se está ejecutando puede llevar a menudo a errores sutiles.

La función os.getcwd() es la forma más antigua de obtener el directorio de trabajo actual como una cadena.

Deja una respuesta