Ya hemos visto algunos ejemplos de código en Línea de Código que nos permiten, por ejemplo, crear un fichero en Python. En este caso vamos a ver cómo crear una carpeta en Python.
Uso de la librería OS
Lo primero que tenemos que saber, como en todo ejemplo de uso de ficheros, es que nos vamos a apoyar en el módulo os
de Python. Y es que el módulo os
de Python nos permite acceder a los recursos del sistema operativo, los ficheros, entre otras cosas, de una manera sencilla.
Por lo tanto, lo primero que tenemos que hacer es importar el módulo os.
from os import path, mkdir
En concreto, para no importar todo el módulo, vamos a importar una función y otro módulo, por un lado mkdir
que nos permitirá la creación del directorio y por otra os.path
que nos permitirá validar la existencia o no de dicha carpeta antes de crear y evitar así errores de ejecución.
Una vez importado, vamos manos a la obra.
Crear una carpeta en Python con mkdir
Lo primero será crear una carpeta en Python con la función mkdir
. Si echamos un ojo a la función mkdir
vemos que su sintaxis es la siguiente:
os.mkdir(path, mode=511, *, dir_fd=None)
Si vemos los parámetros, podemos observar que tenemos los siguientes: path, ruta del directorio que queremos crear. Esta ruta puede ser una ruta absoluta o relativa al directorio actual de trabajo. mode, que serán los permisos del directorio que se va a crear; por defecto es 511. y dir_fd, descriptor de archivo opcional que especifica el directorio relativo desde donde se interpretará la ruta path si esta es relativa.
Así que lo que necesitamos para crear una carpeta en Python es decidir cuál es el nombre de la carpeta.
carpeta = "/temp/mi-carpeta" mkdir(carpeta)
Controlando la excepción FileExistsError.
Una de las cosas que tenemos que saber del uso de la función mkdir
es que, si la carpeta existe, se generará una excepción FileExistsError
. Es por ello que tendremos que controlar la posible generación de FileExistsError
mediante una estructura try-except
.
carpeta = "/temp/mi-carpeta" try: mkdir(carpeta) print('Directorio creado exitosamente') except FileExistsError: print('El directorio ya existe')
Validar si existe la carpeta en Python
Si queremos evitar la potencial generación de la excepción, FileExistsError
una alternativa que tenemos es la de poder validar si existe la carpeta en Python antes de crearla.
Ya hemos visto en el artículo comprobar que existe un fichero en Python que para poder validar la existencia de un fichero tenemos que importar el módulo os.path
. Y utilizar la función .exists()
que tiene la siguiente sintaxis:
os.path.exists(path)
Así que añadiremos la función .exists()
en nuestro código Python de la siguiente manera:
carpeta = "/temp/mi-carpeta" if (path.exists(carpeta)): print(f"La carpeta {carpeta} ya existe") else: mkdir(carpeta) print(f"Carpeta {carpeta} creada")
Vemos que en el código nos apoyamos en la transposición de cadenas de Python para concatenar el nombre de la carpeta con el texto del resultado.
En este caso ya no necesitaríamos gestionar la excepción FileExistsError
.
Con esto ya tenemos nuestro código para poder crear una carpeta en Python.