Python para iniciantes: do zero ao primeiro projeto
Aprenda sobre variáveis, loops e funções e crie seu primeiro projeto Python em apenas 2 horas!
Criar diretórios em Python é uma tarefa comum ao lidar com operações de sistema de arquivos. Seja você um iniciante ou um desenvolvedor experiente, pode se deparar com a necessidade de criar um diretório e todos os seus diretórios pais, caso eles ainda não existam. Isso é semelhante ao comando Bash mkdir -p, que cria diretórios aninhados. Vamos explorar como realizar isso em Python.
O Python 3.5 introduziu o módulo pathlib, que oferece uma abordagem orientada a objetos para lidar com caminhos de sistemas de arquivos. Veja como você pode criar um diretório, incluindo todos os diretórios pais necessários:
from pathlib import Path
Path("/meu/diretorio").mkdir(parents=True, exist_ok=True)O método mkdir em um objeto Path tem dois argumentos importantes:
parents=True indica ao Python para criar quaisquer diretórios pais que estejam faltando.exist_ok=True evita um erro se o diretório já existir.Este método é conciso e elimina a necessidade de tratamento manual de erros.
Se você está usando Python 3.2 ou posterior, mas antes do 3.5, ainda pode usar o módulo os para criar diretórios:
import os
os.makedirs("/caminho/para/diretorio", exist_ok=True)A função os.makedirs também possui um parâmetro exist_ok, que foi introduzido no Python 3.2. Quando definido como True, permite que a função tenha sucesso mesmo se o diretório já existir.
Para aqueles no Python 2.7, você precisará tratar exceções manualmente:
import os
try:
os.makedirs("/caminho/para/diretorio")
except OSError:
if not os.path.isdir("/caminho/para/diretorio"):
raiseNeste trecho de código, tentamos criar o diretório com os.makedirs. Se um OSError for gerado, verificamos se o diretório já existe. Se não existir, relançamos a exceção.
Para uma solução que funcione em diferentes versões do Python e trate condições de corrida, você pode usar a seguinte função:
import os
import errno
def make_sure_path_exists(caminho):
try:
os.makedirs(caminho)
except OSError as excecao:
if excecao.errno != errno.EEXIST:
raiseEsta função tenta criar o diretório e captura o OSError. Ela só relança a exceção se ela não estiver relacionada ao fato de o diretório já existir.
Neste post, cobrimos como criar um diretório e quaisquer diretórios pais que estejam faltando em Python. Para versões modernas do Python (3.5+), pathlib é a abordagem mais direta. Para versões mais antigas, os.makedirs com tratamento adequado de exceções é o caminho a seguir. Lembre-se de tratar exceções com cuidado para evitar condições de corrida e garantir que seu código seja robusto e livre de erros. Com essas técnicas, você pode gerenciar diretórios com confiança em suas aplicações Python.
Aprenda sobre variáveis, loops e funções e crie seu primeiro projeto Python em apenas 2 horas!
Saia do zero e analise dados com Python e Pandas neste curso gratuito com certificado!
Aprenda a programar com Python e explore a inteligência artificial! Crie um chatbot prático que interage com seus próprios dados. Comece agora!
Estudo aprofundado do potencial de LLMs multimodais: soluções, mecanismos e geração de valor Os Modelos de Linguagem de Grande Porte (LLMs) multimodais representam uma…
Quando se trata de visualização de dados em Python, o Matplotlib é uma das bibliotecas mais populares e poderosas disponíveis. Para cientistas de dados,…
Ter um portfólio online é essencial para se destacar no mercado. Se você atua na área de dados, tecnologia ou negócios, apresentar seus projetos…
Comente e participe da conversa
Crie sua conta gratuita e compartilhe sua opinião nos comentários.
Entre para a Asimov