Search
Close this search box.
Gerenciador de arquivos automatizado e eficiente usando Python
gerenciador de arquivos

Posts Relacionados:

Descubra como seus arquivos podem ser organizados instantaneamente usando Python! Com apenas algumas linhas de código, você cria um gerenciador de arquivos em segundos.

Receba nossa newsletter

Automação com Python

Automação com Python descomplicada

Uma área onde a automação com Python possui um impacto significativo é no gerenciamento de arquivos. Tentar encontrar um item específico em um pool de arquivos e diretórios é demorado e exaustivo. Mas, como a organização de arquivos envolve diversas tarefas repetitivas, ela é ideal para ser automatizada usando o Python como um poderoso aliado. Portanto, neste post, criaremos um gerenciador de arquivos simples e fácil.

Gerenciador de arquivos: objetivos

Para automatizar o gerenciamento de arquivos em Python, podemos utilizar vários módulos e bibliotecas. Entre os principais estão o módulo os e o shutil. Ambos podem ser usados para operações de manipulação de diretórios. Em seguida, é preciso definir nosso objetivo. Ou seja, que tipos de arquivos desejamos organizar (por exemplo, imagens, documentos, músicas) e os critérios para organizá-los (por exemplo, data, tipo de arquivo, tamanho, palavras-chave).

Para esse post, faremos um código com dois critérios possíveis de organização: data de criação/modificação e tipo de arquivo. O critério selecionado será utilizado para mover os arquivos para novas pastas para organizá-los.

Começamos o código importando os módulos necessários:

				
					import os
import shutil
import datetime
				
			

O módulo os será usado para interagir com pastas e arquivos. Já o shutil permite mover arquivos para diretórios específicos. O módulo datetime é necessário para acessar as datas dos arquivos.

Gerenciamento de arquivos em Python

Em seguida, definimos uma única função que recebe dois argumentos: um diretório de origem e o critério de organização. Ela itera pelo diretório especificado, processa cada arquivo e o move para a pasta de destino apropriada com base no critério escolhido. As pastas de destino são nomeadas conforme os critérios usados no gerenciador.

				
					
def organiza_arquivos(pasta_origem, criterio):
    """Organiza os arquivos com base nos critérios especificados. 
    Argumentos: 
    diretório: o diretório para verificar arquivos. 
    critérios: os critérios de organização: data ou tipo de arquivo."""

    for root, dirs, files in os.walk(pasta_origem):
        for file in files:
            file_path = os.path.join(root, file)
            file_type = os.path.splitext(file)[1]  

            file_date = datetime.datetime.fromtimestamp(os.path.getmtime(file_path))

            if criterio == "data":
                pasta_destino = os.path.join(pasta_origem, file_date.strftime("%Y-%m-%d"))
            elif criterio == "tipo_de_arquivo":
                pasta_destino = os.path.join(pasta_origem, file_type[1:])
            else:
                print("Critérios inválidos. Por favor, especifique 'data' ou 'tipo_de_arquivo'.")
                return

            if not os.path.exists(pasta_destino):
                os.makedirs(pasta_destino)

            shutil.move(file_path, os.path.join(pasta_destino, file))  

				
			

No trecho acima, o método os.walk() é utilizado para fazer uma varredura completa de todos os arquivos e diretórios presentes no diretório de origem. A função os.path.splitext() extrai a extensão do arquivo. A função datetime.datetime.fromtimestamp() converte a hora de modificação do arquivo em um objeto datetime.

Em seguida, nossa função verifica qual critério foi passado como argumento. Dependendo do critério, arquivos específicos serão movidos para suas respectivas pastas de destino. Para realizar essa tarefa, usamos alguns métodos do módulo os. A função os.path.join() combina caminhos de diretório. A função os.makedirs() cria pastas de destino se elas não existirem. Estas pastas organizarão o diretório original com base no critério estipulado. Por fim, a função shutil.move() transfere os arquivos para o novo local.

A última etapa da função definida consiste em alguns condicionais para lidar com possíveis erros.

Gerenciador de arquivos em ação

Para executar a função, usamos dois inputs para solicitar ao usuário que digite a pasta de origem dos arquivos e o critério que será utilizado no gerenciamento de arquivos. Portanto, logo abaixo da função, insira as seguintes linhas:

				
					diretório_origem = input("Digite o diretório para organizar: ") 
criterio = input("Insira os critérios da organização (data ou tipo_de_arquivo): ") 

				
			

A etapa seguinte consiste em testar a função definida. Para testá-la, criamos uma pasta chamada teste com dois arquivos: teste.txt e teste.py.

Gerenciador de arquivos com Python

Pasta criada para testar o gerenciador de arquivos.

Depois, chamamos a função:

				
					

organiza_arquivos(diretório_origem, criterio)
				
			

Usando tipo_de_arquivo como argumento da função, o resultado obtido mostra que ela criou duas pastas (py e txt) na pasta original e moveu cada tipo de arquivo para a pasta correta.

teste do gerenciador de arquivos

Organização final obtida com o gerenciador de arquivos.

Mas lembre-se: essa função é apenas um exemplo. Dependendo das especificidades de suas necessidades de organização de arquivos, esse código pode ser expandido para incluir critérios mais sofisticados.

Encontrou algum erro ou quer fazer uma sugestão? Por favor, entre em contato usando nosso formulário de contatos.

Imagem com IA Generativa – Dia 199

IA generativa img 199

Arte com IA generativa: imagem do dia

Todos os dias, postamos um exemplo de imagem artística gerada com inteligência artificial.

Tutoriais

Postagens Mais Recentes

Outras Postagens Que Podem Interessar

Veja
Mais

Fique em contato

Se inscreva para receber nossa newsletter com novidades.

aprendiz artificial