O módulo OS em Python fornece funções para interagir com o sistema operacional. OS vem em módulos de utilitário padrão do Python. Este módulo fornece uma maneira portátil de usar a funcionalidade dependente do sistema operacional. Os módulos ose os.pathincluem muitas funções para interagir com o sistema de arquivos. Todas as funções no módulo os aumentam OSError no caso de nomes de arquivo e caminhos inválidos ou inacessíveis, ou outros argumentos que têm o tipo correto, mas não são aceitos pelo sistema operacional.

Existem diferentes métodos disponíveis no módulo OS para a criação de um direcionador. Esses são -

Usando os.mkdir()

os.mkdir()método em Python é usado para criar um diretório denominado path com o modo numérico especificado. Este método levanta FileExistsError se o diretório a ser criado já existe.

Sintaxe: os.mkdir (caminho, modo = 0o777, *, dir_fd = Nenhum)

Parâmetro:
caminho: um objeto semelhante a um caminho que representa um caminho do sistema de arquivos. Um objeto semelhante a um caminho é um objeto de string ou bytes que representa um caminho.
modo (opcional): Um valor inteiro que representa o modo do diretório a ser criado. Se este parâmetro for omitido, o valor padrão Oo777 será usado.
dir_fd (opcional): um descritor de arquivo que se refere a um diretório. O valor padrão deste parâmetro é Nenhum.
Se o caminho especificado for absoluto, dir_fd será ignorado.



Nota: O '*' na lista de parâmetros indica que todos os parâmetros a seguir (aqui em nosso caso 'dir_fd') são parâmetros apenas de palavra-chave e podem ser fornecidos usando seu nome, não como parâmetro posicional.

Tipo de retorno: Este método não retorna nenhum valor.

Exemplo # 1: Uso do os.mkdir()método para criar diretório / arquivo

  
import os 
directory = "GeeksforGeeks"
parent_dir = "D:/Pycharm projects/"
path = os.path.join(parent_dir, directory) 
  
os.mkdir(path) 
print("Directory '% s' created" % directory) 
directory = "Geeks"
parent_dir = "D:/Pycharm projects"
mode = 0o666
path = os.path.join(parent_dir, directory) 
  
os.mkdir(path, mode) 
print("Directory '% s' created" % directory) 

Resultado:

Diretório 'GeeksforGeeks' criado
Diretório 'Geeks' criado

Exemplo # 2: Erros ao usar o os.mkdir()método.

      
import os  
    
directory = "GeeksForGeeks"
    
parent_dir = "D:/Pycharm projects/"
    
path = os.path.join(parent_dir, directory)  
    
os.mkdir(path)  
print("Directory '% s' created" % directory)  
    
    

Resultado:

Traceback (última chamada mais recente):
  Arquivo "gfg.py", linha 18, em <module>
    os.mkdir (caminho)
FileExistsError: [WinError 183] Não é possível criar um arquivo quando esse arquivo /
                 / já existe: 'D: / Pycharm projects / GeeksForGeeks'
</module>

Exemplo # 3: Tratamento de erro ao usar o os.mkdir()método.

      
import os  
    
path = 'D:/Pycharm projects / GeeksForGeeks'
    
try
    os.mkdir(path)  
except OSError as error:  
    print(error)   

Resultado:



[WinError 183] Não é possível criar um arquivo quando esse arquivo /
              / já existe: 'D: / Pycharm projects / GeeksForGeeks'

Usando os.makedirs()

os.makedirs()método em Python é usado para criar um diretório recursivamente. Isso significa que ao criar o diretório folha, se qualquer diretório de nível intermediário estiver faltando, o os.makedirs()método criará todos eles.
Por exemplo, considere o seguinte caminho:

D: / Pycharm projects / GeeksForGeeks / Authors / Nikhil

Suponha que desejamos criar o diretório 'Nikhil', mas o diretório 'GeeksForGeeks' e 'Autores' não estão disponíveis no caminho. O os.makedirs()método criará todos os diretórios indisponíveis / ausentes no caminho especificado. 'GeeksForGeeks' e 'Autores' serão criados primeiro e, em seguida, o diretório 'Nikhil' será criado.

Sintaxe: os.makedirs (caminho, modo = 0o777, exist_ok = False)

Parâmetro:
caminho: um objeto semelhante a um caminho que representa um caminho do sistema de arquivos. Um objeto semelhante a um caminho é um objeto de string ou bytes que representa um caminho.
modo (opcional): Um valor inteiro que representa o modo do diretório recém-criado. Se este parâmetro for omitido, o valor padrão Oo777 será usado.
exist_ok (opcional): um valor padrão False é usado para este parâmetro. Se o diretório de destino já existe, um OSError é gerado se seu valor for False, caso contrário não.

Tipo de retorno: Este método não retorna nenhum valor.

Exemplo # 1: Uso de os.makedirs()método para criar diretório.

      
import os  
    
directory = "Nikhil"
    
parent_dir = "D:/Pycharm projects/GeeksForGeeks/Authors"
    
path = os.path.join(parent_dir, directory)  
    
os.makedirs(path)  
print("Directory '% s' created" % directory)  
    
    
    
    
directory = "c"
    
parent_dir = "D:/Pycharm projects/GeeksforGeeks/a/b"
    
mode = 0o666
    
path = os.path.join(parent_dir, directory)  
    
     
os.makedirs(path, mode)  
print("Directory '% s' created" % directory)  
    
    
    
    

Resultado:

Diretório 'Nikhil' criado
Diretório 'c' criado

Exemplo # 2:

      
import os  
    
    
       
directory = "Nikhil"
    
parent_dir = "D:/Pycharm projects/GeeksForGeeks/Authors"
    
path = os.path.join(parent_dir, directory)  
    
os.makedirs(path)  
print("Directory '% s' created" % directory)  

Resultado:

Traceback (última chamada mais recente):
  Arquivo "gfg.py", linha 22, em <module>
    os.makedirs (caminho)
  Arquivo "C: \ Users \ Nikhil Aggarwal \ AppData \ Local \ Programs \ Python /
       / \ Python38-32 \ lib \ os.py ", linha 221, em makedirs
    mkdir (nome, modo)
FileExistsError: [WinError 183] Não é possível criar um arquivo quando /
               / arquivo já existe: 'D: / Pycharm projects / GeeksForGeeks / Authors \\ Nikhil'
</module>

Exemplo # 3: Manipulação de erros ao usar o método os.makedirs().

  
import os 
  
directory = "Nikhil"
parent_dir = "D:/Pycharm projects/GeeksForGeeks/Authors"
path = os.path.join(parent_dir, directory) 
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) 
  

Resultado:

Diretório 'Nikhil' criado com sucesso