Python | método os.makedirs()

El módulo OS en Python proporciona funciones para interactuar con el sistema operativo. OS viene bajo los módulos de utilidad estándar de Python. Este módulo proporciona una forma portátil de usar la funcionalidad dependiente del sistema operativo.
Todas las funciones en el módulo os generan OSError en el caso de nombres y rutas de archivo no válidos o inaccesibles, u otros argumentos que tienen el tipo correcto pero que no son aceptados por el sistema operativo. 
El método os.makedirs() en Python se usa para crear un directorio de forma recursiva. Eso significa que al crear un directorio hoja si falta algún directorio de nivel intermedio, el método os.makedirs() los creará a 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. Luego , el método os.makedirs() creará todos los directorios no disponibles/faltantes en la ruta especificada. Primero se crearán ‘GeeksForGeeks’ y ‘Authors’ y luego se creará el directorio ‘ihritik’. 
 

Sintaxis: os.makedirs(ruta, modo = 0o777, exist_ok = False) 
Parámetro: 
ruta : un objeto similar a una ruta que representa una ruta del sistema de archivos. Un objeto similar a una ruta es una string o un objeto de bytes que representa una ruta.
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.
exist_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 falso; de lo contrario, no. Para el valor True deja el directorio inalterado. 
Tipo de devolución: este método no devuelve ningún valor.
 

Código #1: uso del método os.makedirs() para crear un directorio
 

Python3

# Python program to explain os.makedirs() method
   
# importing os module
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)
 
# Directory 'GeeksForGeeks' and 'Authors' will
# be created too
# if it does not exists
 
 
 
# Leaf directory
directory = "c"
 
# Parent Directories
parent_dir = "/home/User/Documents/GeeksforGeeks/a/b"
 
# mode
mode = 0o666
 
path = os.path.join(parent_dir, directory)
 
# Create the directory
# 'c'
  
os.makedirs(path, mode)
print("Directory '%s' created" %directory)
 
 
# 'GeeksForGeeks', 'a', and 'b'
# will also be created if
# it does not exists
 
# If any of the intermediate level
# directory is missing
# os.makedirs() method will
# create them
 
# os.makedirs() method can be
# used to create a directory tree 

Producción:
 

Directory 'ihritik' created
Directory 'c' created

Código #2: Errores al usar el método os.makedirs()
 

Python3

# Python program to explain os.makedirs() method
   
# importing os module
import os
 
# os.makedirs() method will raise
# an OSError if the directory
# to be created already exists
 
    
# 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'

Código #3: Manejo de errores al usar el método os.makedirs()
 

Python3

# Python program to explain os.makedirs() method
   
# importing os module
import os
 
# os.makedirs() method will raise
# an OSError if the directory
# to be created already exists
# But It can be suppressed by
# setting the value of a parameter
# exist_ok as True
    
# 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")
 
 
# By setting exist_ok as True
# error caused due already
# existing directory can be suppressed
# but other OSError may be raised
# due to other error like
# invalid path name

Producción:
 

Directory 'ihritik' created successfully

Referencia: https://docs.python.org/3/library/os.html
 

Publicación traducida automáticamente

Artículo escrito por ihritik y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *