Um pacote utilitário para localizar e gerenciar arquivos com base em padrões de nome e data de modificação
Project description
File Finder Utility
Uma utilitário Python para encontrar e gerenciar arquivos baseado em padrões de nome e data de modificação.
Descriçã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.
Instalação
Clone o repositório
git clone https://github.com/phadias/file-finder-utility.git
cd file-finder-utility
Ou instale diretamente via pip
pip install file-finder-utility
Exemplos Práticos
import 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")
API Reference
check_last_file(path_file: str, ref: str) -> Path
Encontra o arquivo mais recente em um diretório que contenha a referência especificada.
Parâmetros:
-
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
Retorna:
- Path: Objeto Path do arquivo mais recente que contém a referência
Raises:
ValueError: Se nenhum arquivo for encontrado com a referência especificada
FileNotFoundError: Se o diretório especificado não existir
Exemplos de Casos de Uso
- 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 antigos
Requisitos
Python 3.7+pathlib(incluído na biblioteca padrão do Python)os(incluído na biblioteca padrão do Python)
Estrutura do Projeto
file-finder-utility/
└── file_finder/
│ ├── __init__.py
│ └── core.py
├── LICENSE
├── requirements.txt
├── setup.py
└── README.md
Desenvolvimento
# 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
Dicas de Uso
-
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
Changelog
v0.0.1
-
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
Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo
para detalhes:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file file_finder_utility-0.0.1.tar.gz.
File metadata
- Download URL: file_finder_utility-0.0.1.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa3b325036a88294396e4620a7cc6d9eee3637fc78e041e1bf2ba733cef1cf38
|
|
| MD5 |
acf08c76a7d1f902d7ff63771af06d64
|
|
| BLAKE2b-256 |
852dfd7e662902da11e45000c76d416cc74a951f76d83eda119feba4a88736d0
|
File details
Details for the file file_finder_utility-0.0.1-py3-none-any.whl.
File metadata
- Download URL: file_finder_utility-0.0.1-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
401abe1ca27c97b7ed9b7af417661b975e1a3aaa46897ee8893025588326b269
|
|
| MD5 |
2a36b23f6a086aab1da6a1670c6168f4
|
|
| BLAKE2b-256 |
7a07d32cfd4e2269e0aa14e7524fd0c42f7f4d9e7c96ed02b9b35dd4054a7228
|