Organizando Arquivos com Python: Criando um Organizador Automático
Oi, pessoal! Hoje quero compartilhar com vocês um projeto que me ajudou bastante a organizar minhas pastas de trabalho: um Organizador de Arquivos Automático! 🗂
Se você, assim como eu, tem uma pasta cheia de arquivos misturados (imagens, documentos, vídeos, etc.), este app é uma mão na roda. Ele automaticamente move seus arquivos para subpastas categorizadas pelas extensões (como .jpg
, .pdf
, .mp4
) em poucos segundos.
Por que eu criei este app?
Eu trabalho com muitos arquivos de diferentes tipos, e organizá-los manualmente sempre foi uma tarefa chata. Então pensei: "Por que não criar um app que faça isso por mim?". Além de ser um projeto divertido, ele também me ajudou a praticar manipulação de arquivos e diretórios em Python.
O que o app faz?
O app escaneia uma pasta específica e organiza seus arquivos nas seguintes categorias:
- Imagens: Arquivos com extensões como
.jpg
,.png
,.gif
, etc. - Documentos: Arquivos como
.pdf
,.docx
,.xlsx
, etc. - Vídeos: Arquivos de vídeo, como
.mp4
,.mkv
, etc. - Outros: Arquivos que não se encaixam em nenhuma das categorias acima.
Código do Organizador de Arquivos
Aqui está o código completo que você pode copiar e testar:
import os
import shutil
# Função que cria subpastas para categorias de arquivos
def criar_subpastas(diretorio):
categorias = ['Imagens', 'Documentos', 'Vídeos', 'Outros']
for categoria in categorias:
caminho = os.path.join(diretorio, categoria)
if not os.path.exists(caminho):
os.makedirs(caminho)
# Função que move arquivos para as subpastas corretas
def organizar_arquivos(diretorio):
# Extensões de arquivos por categoria
tipos_arquivos = {
'Imagens': ['.jpg', '.jpeg', '.png', '.gif', '.bmp'],
'Documentos': ['.pdf', '.docx', '.xlsx', '.txt', '.pptx'],
'Vídeos': ['.mp4', '.mov', '.mkv', '.avi'],
}
criar_subpastas(diretorio)
# Loop pelos arquivos no diretório
for arquivo in os.listdir(diretorio):
caminho_completo = os.path.join(diretorio, arquivo)
# Verifica se é um arquivo (ignora pastas)
if os.path.isfile(caminho_completo):
# Move o arquivo para a subpasta correta com base na extensão
movido = False
for categoria, extensoes in tipos_arquivos.items():
if arquivo.endswith(tuple(extensoes)):
shutil.move(caminho_completo, os.path.join(diretorio, categoria, arquivo))
print(f'Movido {arquivo} para {categoria}')
movido = True
break
# Se o arquivo não se encaixar em nenhuma categoria, move para "Outros"
if not movido:
shutil.move(caminho_completo, os.path.join(diretorio, 'Outros', arquivo))
print(f'Movido {arquivo} para Outros')
# Função principal
def main():
# Diretório a ser organizado (pode alterar para o caminho que você quiser)
diretorio = input("Digite o caminho da pasta que deseja organizar: ")
if os.path.exists(diretorio):
organizar_arquivos(diretorio)
print("Organização concluída!")
else:
print("Diretório não encontrado.")
if __name__ == '__main__':
main()
Como funciona?
O usuário insere o caminho da pasta que deseja organizar.
O app cria subpastas dentro dessa pasta para Imagens, Documentos, Vídeos e Outros.
Ele então percorre todos os arquivos da pasta, verifica suas extensões e os move para a subpasta correspondente. Arquivos que não se encaixam em nenhuma das categorias são movidos para a pasta "Outros".
O que eu aprendi com esse projeto?
Esse projeto foi uma excelente oportunidade para trabalhar com manipulação de arquivos e diretórios em Python. Além disso, também aprendi sobre a biblioteca shutil, que facilita muito a movimentação de arquivos entre pastas.
Ideias para melhorias futuras
Esse app já é bastante funcional, mas estou pensando em adicionar algumas funcionalidades extras, como:
Interface gráfica: Para tornar a experiência de uso mais amigável.
Personalização de categorias: Permitir que o usuário crie suas próprias categorias.
Suporte para mais tipos de arquivos: Expandir a lista de extensões compatíveis.
Se você tem uma pasta bagunçada e quer organizá-la automaticamente, recomendo muito testar esse código! É rápido, fácil e vai te poupar um tempão.