Gerador de Intervalos Hexadecimais com Exportação para CSV
Sempre crie uma frase de segurança única para jogos, testnets ou airdrops e evite usar sua carteira principal.
Como Gerar Intervalos Numéricos em Hexadecimal com Exportação para CSV Usando Python
Este artigo apresenta um script Python útil para desenvolvedores e analistas de dados que desejam gerar intervalos de valores numéricos em formato hexadecimal. O código é ideal para exportar os dados gerados para um arquivo CSV, permitindo fácil manipulação e análise posterior.
Objetivo do Script
O código foi desenvolvido para dividir um intervalo entre dois números hexadecimais em subintervalos com base em um percentual fornecido. Cada subintervalo é calculado, exibido no console e também salvo em um arquivo CSV. Este tipo de aplicação pode ser útil em áreas como engenharia reversa, análise de dados binários e programação de sistemas embarcados.
Pré-requisitos
- Python 3.x instalado
- Conhecimento básico em manipulação de arquivos
- Editor de código ou terminal para executar o script
Descrição do Funcionamento
- Converte os valores hexadecimais de entrada para inteiros
- Calcula o número de divisões com base no percentual informado
- Divide o intervalo total em segmentos proporcionais
- Exporta cada linha para um arquivo intervalos.csv
Exemplo de Código
import gc
import csv
# Função geradora para calcular e imprimir os intervalos
def gerar_tabela(valor_inicial, valor_final, percentual, writer):
num_divisoes = int(100 / percentual)
intervalo_tamanho = (valor_final - valor_inicial) // num_divisoes
contador = 0
for i in range(num_divisoes):
inicio_intervalo = valor_inicial + i * intervalo_tamanho
fim_intervalo = valor_inicial + (i + 1) * intervalo_tamanho
if i == num_divisoes - 1:
fim_intervalo = valor_final
total = fim_intervalo - inicio_intervalo + 1
print(f"Intervalo {i + 1:,.0f} de {num_divisoes:,.0f}: {hex(inicio_intervalo)} até {hex(fim_intervalo)} (inclusive) é: {total:,.0f}")
writer.writerow([hex(inicio_intervalo), hex(fim_intervalo)])
contador += 1
if contador % 1000 == 0:
print(f"{contador} intervalos processados. Coletando lixo...")
gc.collect()
# Valores hexadecimais de entrada
hex_inicial = '40000000000000000'
hex_final = '7ffffffffffffffff'
# Conversão para inteiros
valor_inicial = int(hex_inicial, 16)
valor_final = int(hex_final, 16)
# Percentual de divisão
percentual = float("0.0000001")
if percentual <= 0 or percentual > 100:
print("Por favor, insira um percentual maior que 0 e menor ou igual a 100%.")
else:
nome_arquivo_csv = 'intervalos.csv'
with open(nome_arquivo_csv, mode='w', newline='') as arquivo_csv:
writer = csv.writer(arquivo_csv)
writer.writerow(['inicio', 'fim'])
gerar_tabela(valor_inicial, valor_final, percentual, writer)
print(f"Intervalos salvos em {nome_arquivo_csv}.")
Importância do Gerenciamento de Memória
O uso da função gc.collect() após cada 1000 registros garante que a memória seja liberada periodicamente, tornando o script mais eficiente e evitando estouro de memória em grandes volumes de dados.
Considerações Finais
Este script é uma solução poderosa e personalizável para criar subdivisões em intervalos numéricos extensos. Ele pode ser adaptado para aplicações específicas, como geração de IDs, análise de blocos de dados ou estudos em sistemas de numeração. O código é aberto para melhorias e customizações.
Link Oficial para Aprendizado
Para aprender mais sobre a linguagem Python, visite o site oficial: https://www.python.org

Comentários
Comente só assim vamos crescer juntos!