logo

Pitón | método os.makedirs()

Todas las funciones en el módulo del sistema operativo aumentan. OSError en el caso de nombres y rutas de archivos no válidos o inaccesibles, u otros argumentos que tengan el tipo correcto pero que no sean aceptados por el sistema operativo. En este artículo, veremos cómo crear directorios de forma recursiva utilizando el módulo os y también sobre el método os.makedirs().

Sintaxis de la función Python os.makedirs()

Sintaxis: os.makedirs(ruta, modo = 0o777, exist_ok = False)

Parámetro:



  1. camino : un objeto similar a una ruta que representa una ruta del sistema de archivos. Un objeto similar a una ruta es una cadena o un objeto de bytes que representa una ruta.
  2. modo (opcional): un valor entero que representa el modo del directorio recién creado. Si se omite este parámetro, se utiliza el valor predeterminado Oo777.
  3. existe_ok (opcional): se utiliza un valor predeterminado Falso para este parámetro. Si el directorio de destino ya existe, se genera un OSError si su valor es False; de ​​lo contrario, no. Para el valor True deja el directorio inalterado.

Tipo de devolución: Este método no devuelve ningún valor.

Método os.makedirs() en Python

os.makedirs() método en Pitón se utiliza para crear un directorio de forma recursiva. Eso significa que al crear un directorio hoja, si falta algún directorio de nivel intermedio, os.makedirs() El método los creará todos.

Por ejemplo, considere la siguiente ruta:

/home/User/Documents/GeeksForGeeks/Authors/ihritik>

Supongamos que queremos crear el directorio 'ihritik' pero el directorio 'GeeksForGeeks' y 'Authors' no están disponibles en la ruta. Entonces os.makedirs() El método creará todos los directorios no disponibles o faltantes en la ruta especificada. Primero se crearán 'GeeksForGeeks' y 'Authors' y luego se creará el directorio 'ihritik'.

Ejemplos de funciones de Python os.makedirs()

A continuación se muestran algunos ejemplos de la función os.makedirs() mediante la cual podemos ver cómo crear directorios de forma recursiva utilizando el módulo del sistema operativo :

Crear directorio usandoos.makedirs()>

En este ejemplo, elos.makedirs()>El método se utiliza para crear directorios anidados. La primera sección crea un directorio llamado ihritik dentro de la ruta del directorio de Autores. La segunda sección, con permisos especificados, crea un directorio c anidado dentro de techcodeview.com/a/b.

Python3




import> os> # Leaf directory> directory>=> 'ihritik'> # Parent Directories> parent_dir>=> '/home/User/Documents/GeeksForGeeks/Authors'> # Path> path>=> os.path.join(parent_dir, directory)> # Create the directory 'ihritik'> os.makedirs(path)> print>(>'Directory '%s' created'> %> directory)> # Leaf directory> directory>=> 'c'> # Parent Directories> parent_dir>=> '/home/User/Documents/techcodeview.com/a/b'> # mode> mode>=> 0o666> path>=> os.path.join(parent_dir, directory)> os.makedirs(path, mode)> print>(>'Directory '%s' created'> %> directory)>

>

>

Producción:

Directory 'ihritik' created Directory 'c' created>

Errores al utilizar el método os.makedirs()

En este ejemplo, elos.makedirs()>El método intenta crear un directorio llamado ihritik dentro de la ruta GeeksForGeeks. Si el directorio ya existe, el método genera unOSError>. Tras una creación exitosa, se imprime un mensaje de confirmación.

guardar desde

Python3




import> os> # Directory> directory>=> 'ihritik'> # Parent Directory path> parent_dir>=> '/home/User/Documents/GeeksForGeeks'> # Path> path>=> os.path.join(parent_dir, directory)> # Create the directory 'ihritik'> os.makedirs(path)> print>(>'Directory '%s' created'> %> directory)>

>

>

Producción:

Traceback (most recent call last):  File 'makedirs.py', line 21, in   os.makedirs(path)  File '/usr/lib/python3.6/os.py', line 220, in makedirs  mkdir(name, mode) FileExistsError: [Errno 17] File exists: '/home/User/Documents/GeeksForGeeks/ihritik'>

Manejo de errores al usar el método os.makedirs()

En este ejemplo, elos.makedirs()>El método se utiliza con elexist_ok>parámetro establecido enTrue>para suprimirOSError>si el directorio ya existe. Si el directorio no existe, se creará. Sin embargo, otrosOSError>Las excepciones, como un nombre de ruta no válido, aún se pueden generar y deben manejarse por separado.

Python3




import> os> # Directory> directory>=> 'ihritik'> # Parent Directory path> parent_dir>=> '/home/ihritik/Desktop/GeeksForGeeks'> # Path> path>=> os.path.join(parent_dir, directory)> # Create the directory 'ihritik'> try>:> >os.makedirs(path, exist_ok>=>True>)> >print>(>'Directory '%s' created successfully'> %> directory)> except> OSError as error:> >print>(>'Directory '%s' can not be created'>)>

>

>

Producción:

Directory 'ihritik' created successfully>