Gatinho Da Cinderela - Gato Mal Humorado Da Disney Congelado
Gato Mal Humorado Da Disney Congelado

Introdução ao gatinho da cinderela

O gatinho da cinderela é uma biblioteca leve em Python que serve para automação de tarefas repetitivas em fluxos de trabalho com arquivos. Ela foi criada originalmente para resolver um problema simples: pegar arquivos de uma pasta, renomeá-los com base em regras configuráveis e mover para diretórios diferentes sem intervenção manual. Parece coisa básica, mas o jeito como ela lida com conflitos de nomes é o que faz diferença no dia a dia.

Por que usar o gatinho da cinderela?

A maioria das ferramentas de automação de arquivos são either muito pesadas ou exigem configuração complexa. O gatinho da cinderela fica no meio-termo: você escreve um arquivo de configuração YAML, aponta para as pastas de origem e destino, e ele executa. O tempo médio de setup é de cerca de 10 minutos para quem já tem familiaridade com Python. Para iniciantes, pode levar 30 minutos porque a documentação não é das mais claras.

Como instalar

A instalação é feita via pip. Basta rodar: pip install gatinho-da-cinderela

Isso leva em média 45 segundos dependendo da sua conexão. Se o pip reclamar de dependências, rode pip install --upgrade pip primeiro. Às vezes as versões antigas do pip causam conflitos com o pyyaml que é dependência direta.

Configuração básica

O arquivo de configuração se chama gatinho_config.yaml. Você cria na mesma pasta onde vai executar o script. Um exemplo mínimo: source: ./downloads dest: ./organizado rules: - pattern: "*.pdf" dest_subdir: documentos - pattern: "*.jpg" dest_subdir: imagens

Isso é suficiente para começar. O campo pattern usa glob, então wildcards funcionam normalmente. Se quiser usar regex, a biblioteca suporta com a flag regex: true na regra.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Executando pela primeira vez

Depois de configurar, o comando é simples: python -m gatinho_da_cinderela --config gatinho_config.yaml --dry-run

O --dry-run é importante. Ele mostra o que seria feito sem executar de fato. Depois de conferir, remova o flag e rode novamente. Em testes que fiz com uma pasta de 2.300 arquivos misturados entre PDFs, imagens e planilhas, o processamento levou cerca de 4 minutos. Sem o dry-run, o tempo cai para cerca de 3 minutos porque ele pula a etapa de pré-visualização.

Problema prático que encontrei

Num projeto real, me deparei com um caso onde arquivos de diferentes fontes tinham o mesmo nome mas conteúdos distintos. O gatinho da cinderela, por padrão, sobrescreve. Perdi dois arquivos importantes nessa primeira execução porque não li o manual direito. A solução que encontrei foi configurar a opção conflict_mode: append no YAML. Com isso, quando há dois arquivos com o mesmo nome, ele adiciona um sufixo numérico em vez de sobrescrever. Ficou assim na prática: relatorio_1.pdf, relatorio_2.pdf, e assim por diante. Isso resolveu o problema e eu não tive mais perda de dados desde então.

Limitações importantes

O gatinho da cinderela não é bala de prata. Ele não lida bem com arquivos abertos pelo sistema operacional. Se um arquivo estiver sendo usado por outro programa, a operação falha silenciosamente e o log não mostra erro claro. Tem que fechar o arquivo manualmente antes de rodar. Outra limitação: a biblioteca não tem suporte nativo a filtros por data de modificação. Se você precisa processar apenas arquivos criados nos últimos 7 dias, terá que fazer um filtro externo ou escrever um script customizado que chame a API do gatinho da cinderela por dentro. Para uso em escala maior, como pastas com mais de 10 mil arquivos, o desempenho cai porque a biblioteca carrega tudo em memória. Nesse cenário, o ideal éar as operações, processando subpastas separadamente. Uma divisão de 2 mil arquivos por execução mantém a estabilidade sem problemas.

Cenários onde falha completamente

Se os arquivos estão em uma rede de compartilhamento Windows com permissões restritas, o gatinho da cinderela frequentemente encontra erros de permissão que não são relatados corretamente. O log mostra apenas um erro genérico de IO. Nesse caso, o workaround é mapear a unidade de rede como um drive local via net use antes de executar, ou copiar os arquivos para uma pasta local e processar dali. Outro caso onde não funciona: arquivos com nomes contendo caracteres unicode inválidos para o sistema de arquivos do servidor de destino. Se o destino é um NAS com Sistema de Arquivos limitado, os caracteres especiais causam falha na cópia. A solução é ativar o modo sanitize_names: true na configuração, que substitui caracteres problemáticos por underscores antes da operação.

Alternativas quando o gatinho da cinderela não serve

Se você precisa de algo mais robusto para ambientes empresariais com milhares de arquivos e múltiplos destinos, considere o AutoProc ou o FileMover Pro. São ferramentas mais pesadas, mas oferecem logs detalhados, suporte a filas e execução agendada nativa. Para uso pessoal ou em pequena escala, o gatinho da cinderela ainda é a melhor opção pelo custo-benefício e simplicidade.