Crear un directorio en Python

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. Los módulos osy os.pathincluyen muchas funciones para interactuar con el sistema de archivos. Todas las funciones en el módulo os surgen OSError en el caso de nombres de archivo y rutas no válidos o inaccesibles, u otros argumentos que tienen el tipo correcto pero que el sistema operativo no acepta.

Hay diferentes métodos disponibles en el módulo OS para crear un director. Estos son –

Usando os.mkdir()

os.mkdir()El método en Python se usa para crear un directorio llamado ruta con el modo numérico especificado. Este método FileExistsError genera si el directorio que se creará ya existe.

Sintaxis: os.mkdir(ruta, modo = 0o777, *, dir_fd = Ninguno)

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 que se va a crear. Si se omite este parámetro, se utiliza el valor predeterminado Oo777.
dir_fd (opcional): un descriptor de archivo que hace referencia a un directorio. El valor predeterminado de este parámetro es Ninguno.
Si la ruta especificada es absoluta, se ignora dir_fd.

Nota: El ‘*’ en la lista de parámetros indica que todos los siguientes parámetros (aquí, en nuestro caso, ‘dir_fd’) son parámetros de solo palabras clave y se pueden proporcionar usando su nombre, no como parámetro posicional.

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

Ejemplo #1: Uso del os.mkdir()método para crear un directorio/archivo

# Python program to explain os.mkdir() method
  
# importing os module
import os
  
# Directory
directory = "GeeksforGeeks"
  
# Parent Directory path
parent_dir = "D:/Pycharm projects/"
  
# Path
path = os.path.join(parent_dir, directory)
  
# Create the directory
# 'GeeksForGeeks' in
# '/home / User / Documents'
os.mkdir(path)
print("Directory '% s' created" % directory)
  
# Directory
directory = "Geeks"
  
# Parent Directory path
parent_dir = "D:/Pycharm projects"
  
# mode
mode = 0o666
  
# Path
path = os.path.join(parent_dir, directory)
  
# Create the directory
# 'GeeksForGeeks' in
# '/home / User / Documents'
# with mode 0o666
os.mkdir(path, mode)
print("Directory '% s' created" % directory)

Producción:

Directory 'GeeksforGeeks' created
Directory 'Geeks' created

Ejemplo #2: Errores al usar el os.mkdir()método.

# Python program to explain os.mkdir() method  
      
# importing os module  
import os 
    
# Directory 
directory = "GeeksForGeeks"
    
# Parent Directory path 
parent_dir = "D:/Pycharm projects/"
    
# Path 
path = os.path.join(parent_dir, directory) 
    
# Create the directory 
# 'GeeksForGeeks' in 
# '/home / User / Documents' 
os.mkdir(path) 
print("Directory '% s' created" % directory) 
    
# if directory / file that  
# is to be created already 
# exists then 'FileExistsError' 
# will be raised by os.mkdir() method 
    
# Similarly, if the specified path 
# is invalid 'FileNotFoundError' Error 
# will be raised 

Producción:

Traceback (most recent call last):
  File "gfg.py", line 18, in 
    os.mkdir(path)
FileExistsError: [WinError 183] Cannot create a file when that file /
                 /already exists: 'D:/Pycharm projects/GeeksForGeeks'

Ejemplo n.º 3: error de manejo al usar el os.mkdir()método.

# Python program to explain os.mkdir() method  
      
# importing os module  
import os 
    
# path 
path = 'D:/Pycharm projects / GeeksForGeeks'
    
# Create the directory 
# 'GeeksForGeeks' in 
# '/home / User / Documents' 
try: 
    os.mkdir(path) 
except OSError as error: 
    print(error)  

Producción:

[WinError 183] Cannot create a file when that file/
              /already exists: 'D:/Pycharm projects/GeeksForGeeks'

Usando os.makedirs()

os.makedirs()El método en Python se usa para crear un directorio recursivamente. Eso significa que al crear un directorio hoja si falta algún directorio de nivel intermedio, el os.makedirs()método los creará a todos.
Por ejemplo, considere la siguiente ruta:

D:/Pycharm projects/GeeksForGeeks/Authors/Nikhil

Supongamos que queremos crear el directorio ‘Nikhil’ pero el directorio ‘GeeksForGeeks’ y ‘Authors’ no están disponibles en la ruta. Luego os.makedirs(), el método creará todos los directorios no disponibles/faltantes en la ruta especificada. Primero se crearán ‘GeeksForGeeks’ y ‘Authors’ y luego se creará el directorio ‘Nikhil’.

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.

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

Ejemplo #1: Uso del os.makedirs()método para crear un directorio.

# Python program to explain os.makedirs() method  
      
# importing os module  
import os 
    
# Leaf directory 
directory = "Nikhil"
    
# Parent Directories 
parent_dir = "D:/Pycharm projects/GeeksForGeeks/Authors"
    
# Path 
path = os.path.join(parent_dir, directory) 
    
# Create the directory 
# 'Nikhil' 
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 = "D:/Pycharm projects/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 'Nikhil' created
Directory 'c' created

Ejemplo #2:

# 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 = "Nikhil"
    
# Parent Directory path 
parent_dir = "D:/Pycharm projects/GeeksForGeeks/Authors"
    
# Path 
path = os.path.join(parent_dir, directory) 
    
# Create the directory 
# 'Nikhil' 
os.makedirs(path) 
print("Directory '% s' created" % directory) 

Producción:

Traceback (most recent call last):
  File "gfg.py", line 22, in 
    os.makedirs(path)
  File "C:\Users\Nikhil Aggarwal\AppData\Local\Programs\Python/
       / \Python38-32\lib\os.py", line 221, in makedirs
    mkdir(name, mode)
FileExistsError: [WinError 183] Cannot create a file when that/
               / file already exists: 'D:/Pycharm projects/GeeksForGeeks/Authors\\Nikhil'

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

# 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 = "Nikhil"
  
# Parent Directory path
parent_dir = "D:/Pycharm projects/GeeksForGeeks/Authors"
  
# Path
path = os.path.join(parent_dir, directory)
  
# Create the directory
# 'Nikhil'
try:
    os.makedirs(path, exist_ok = True)
    print("Directory '%s' created successfully" % directory)
except OSError as error:
    print("Directory '%s' can not be created" % directory)
  
# 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 'Nikhil' created successfully

Publicación traducida automáticamente

Artículo escrito por nikhilaggarwal3 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 *