Original article: Creating a Directory in Python – How to Create a Folder

En este artículo, aprenderás cómo crear nuevos directorios (que es otro nombre para las carpetas) en Python.

También aprenderás a crear una estructura de directorios anidados.

Para trabajar con directorios en Python, primero debes incluir el módulo os en su proyecto, que le permite interactuar con su sistema operativo.

El módulo os también te permite utilizar los dos métodos que cubriremos en este artículo:

  • el método os.mkdir()
  • el método os.makedirs()

¡Comencemos!

Cómo crear un directorio único usando el método os.mkdir() en Python

Como se mencionó anteriormente, para trabajar con directorios en Python, primero debes incluir el módulo os.

Para hacerlo, agrega la siguiente línea de código en la parte superior de su archivo:

import os

El código anterior te permitirá utilizar el método os.mkdir() para crear un nuevo directorio único.

El método os.mkdir() acepta un argumento: la ruta del directorio.

import os

# especificamos la ruta para el directorio - nos aseguramos de hacerlo entre comillas
ruta = './proyectos'

# creamos un nuevo directorio
os.mkdir(ruta)

El código anterior creará un directorio de proyectos en el directorio de trabajo actual.

Ten en cuenta que ./ representa el directorio de trabajo actual. Puedes omitir esta parte y escribir proyectos solo cuando especifique la ruta; ¡el resultado será el mismo!

Cómo manejar excepciones al usar el método os.mkdir en Python

Pero, ¿qué sucede cuando el directorio que estás intentando crear ya existe? Se genera una excepción FileExistsError:

Traceback (most recent call last):
  File "main.py", line 3, in <module>
    os.mkdir(ruta)
FileExistsError: [Errno 17] File exists: './proyectos'

Una forma de manejar esta excepción es verificar si el archivo ya existe usando un bloque if..else:

import os

ruta = './proyectos'

# verificamos si el directorio ya existe
if not os.path.exists(ruta):
  os.mkdir(ruta)
  print("Directorio %s creado!" % ruta)
else:
  print("Directorio %s ya existe" % ruta)

En el ejemplo anterior, primero verifica si el directorio ./proyectos ya existe usando el método os.path.exists().

Si es así, obtendré el siguiente resultado en lugar de un FileExistsError:

Directorio ./proyectos ya existe

Si el archivo no existe, se crea una nueva carpeta de proyectos en el directorio de trabajo actual y obtengo el siguiente resultado:

Directorio ./proyectos creado!

Alternativamente, puedes usar un bloque try/except para manejar excepciones:

import os

ruta = './proyectos'

try:
    os.mkdir(ruta)
    print("Directorio %s creado!" % ruta)
except FileExistsError:
    print("Directorio %s ya existe" % ruta)

Si ya existe una carpeta de proyectos en el directorio de trabajo actual, obtendrá el siguiente resultado en lugar de un mensaje de error:

Directorio ./proyectos ya existe.

Cómo crear un directorio con subdirectorios usando el método os.makedirs() en Python

El método os.mkdir() no te permite crear un subdirectorio. Este método te permite crear un directorio único.

Para crear una estructura de directorios anidados (como un directorio dentro de otro directorio), utiliza el método os.makedirs().

os.makedirs() acepta un argumento: la ruta completa de la carpeta que desea crear.

import os

# define el nombre del directorio con sus subdirectorios
ruta = './proyectos/juegos/juego01'

os.makedirs(ruta)

En el ejemplo anterior, creé un directorio de proyectos en el directorio de trabajo actual.

Dentro de proyectos, creé otro directorio, juegos. Y dentro de juegos, creé otro directorio más, juego01.

Conclusión

¡Y ahí lo tienes! Ahora sabe cómo crear un directorio único y un directorio con subdirectorios en Python.

Para obtener más información sobre Python, consulte el curso Python para principiantes de freeCodeCamp.

Gracias por leer y feliz codificación.