Uma utilitário Python para encontrar e gerenciar arquivos baseado em padrões de nome e data de modificação.
Este pacote fornece funções para busca inteligente de arquivos em diretórios, permitindo localizar o arquivo mais recente que corresponda a um padrão específico no nome.
Clone o repositório
git clone https://github.com/phadias/file-finder-utility.git
cd file-finder-utilityOu instale diretamente via pip
pip install file-finder-utilityimport os
from file_finder import check_last_file
# Encontrar o último backup
backup_path = check_last_file('/var/backups', 'system_backup')
# Encontrar o último relatório gerado
relatorio_path = check_last_file('./relatorios', 'vendas')
# Trabalhar com o arquivo retornado
if backup_path.exists():
print(f"Último backup: {backup_path.name}")
print(f"Tamanho: {backup_path.stat().st_size} bytes")
check_last_file(path_file: str, ref: str) -> Path
Encontra o arquivo mais recente em um diretório que contenha a referência especificada.
-
path_file (str): Caminho do diretório onde será realizada a busca
-
ref (str): String de referência que deve estar contida no nome dos arquivos
- Path: Objeto Path do arquivo mais recente que contém a referência
ValueError: Se nenhum arquivo for encontrado com a referência especificada
FileNotFoundError: Se o diretório especificado não existir
- Monitoramento de Backups
def verificar_ultimo_backup():
try:
ultimo_backup = check_last_file('/backups', 'database')
print(f"Último backup encontrado: {ultimo_backup}")
return ultimo_backup
except ValueError:
print("Nenhum backup encontrado!")
return None- Processamento de Relatórios
def processar_relatorio_mais_recente():
relatorio = check_last_file('./relatorios', 'vendas_diarias')
# Processar o relatório mais recente
with open(relatorio, 'r') as file:
dados = file.read()
# ... processamento dos dados- Limpeza de Arquivos Temporários
def manter_apenas_ultimo_arquivo():
arquivos = list(Path('./temp').glob('*log*'))
if len(arquivos) > 1:
mais_recente = check_last_file('./temp', 'log')
for arquivo in arquivos:
if arquivo != mais_recente:
arquivo.unlink() # Remove arquivos antigosPython 3.7+pathlib(incluído na biblioteca padrão do Python)os(incluído na biblioteca padrão do Python)
file-finder-utility/
└── file_finder/
│ ├── __init__.py
│ └── core.py
├── LICENSE
├── requirements.txt
├── setup.py
└── README.md
# Clonar e configurar
git clone https://github.com/seu-usuario/file-finder-utility.git
cd file-finder-utility
# Criar ambiente virtual
python -m venv venv
source venv/bin/activate # Linux/Mac
# ou
venv\Scripts\activate # Windows
# Instalar dependências de desenvolvimento
pip install -r requirements.txt-
A busca é case-sensitive (diferencia maiúsculas de minúsculas)
-
Use
*curingas no parâmetrorefpara buscas mais flexíveis -
A função considera a data de modificação do arquivo, não a data de criação
-
Funcionalidade inicial: check_last_file
-
Suporte para busca por padrões em nomes de arquivos
-
Retorno do arquivo mais recente baseado na data de modificação
Este projeto está licenciado sob a Licença MIT - veja o arquivo
para detalhes: