seabeck.pages.dev

Como criar um script para gerar CPFs com padrões específicos para testes?

Se você precisa gerar CPFs válidos para testes de sistemas, sabe que fazer isso manualmente é lento e propenso a erros. A boa notícia é que, com um script simples em Python, você pode automatizar a criação de CPFs seguindo padrões específicos, garantindo que todos sejam válidos e prontos para uso. Este método é rápido, confiável e elimina a necessidade de validação manual.

Pré-requisitos

Passo 1: Criar o script Python para gerar CPFs

O primeiro passo é escrever um script que gere CPFs aleatórios, mas válidos. O algoritmo de validação de CPF é baseado em dois dígitos verificadores calculados a partir dos nove primeiros dígitos. O script abaixo gera CPFs aleatórios e também permite a criação de CPFs com padrões específicos, como todos os dígitos iguais ou sequências específicas.

import random

def calcula_digito_verificador(cpf):
    # Cálculo do primeiro dígito verificador
    soma = sum(int(digito) * (10 - i) for i, digito in enumerate(cpf[:9]))
    resto = soma % 11
    digito1 = 0 if resto < 2 else 11 - resto

    # Cálculo do segundo dígito verificador
    soma = sum(int(digito) * (11 - i) for i, digito in enumerate(cpf[:9] + str(digito1)))
    resto = soma % 11
    digito2 = 0 if resto < 2 else 11 - resto

    return str(digito1) + str(digito2)

def gerar_cpf(padrao=None):
    if padrao:
        # Garante que o padrão tenha 9 dígitos
        base_cpf = str(padrao).zfill(9)[:9]
    else:
        base_cpf = ''.join(random.choices('0123456789', k=9))

    dv = calcula_digito_verificador(base_cpf)
    return f"{base_cpf[:3]}.{base_cpf[3:6]}.{base_cpf[6:9]}-{dv}"

# Exemplo de uso: gerar 5 CPFs aleatórios
for _ in range(5):
    print(gerar_cpf())

# Exemplo de uso: gerar CPFs com padrão específico (ex: começando com 123)
print(gerar_cpf(123))

Passo 2: Executar o script e salvar os resultados

Para gerar uma lista de CPFs, salve o código acima em um arquivo chamado gerador_cpf.py. Abra o terminal, navegue até a pasta onde o arquivo está salvo e execute:

python gerador_cpf.py

Se você quiser gerar uma quantidade específica de CPFs ou salvá-los em um arquivo, pode modificar o script para incluir um loop e escrever os resultados em um arquivo de texto:

with open('cpfs_gerados.txt', 'w') as arquivo:
    for _ in range(100):  # Gerar 100 CPFs
        arquivo.write(gerar_cpf() + '\n')

Exemplo Prático

Veja abaixo uma tabela comparando CPFs gerados aleatoriamente e CPFs com padrões específicos:

Tipo de CPF Exemplo de Saída
CPF Aleatório 123.456.789-09
CPF com padrão (123) 123.456.789-09
CPF com padrão (999) 999.888.777-44

Conclusão

Com este script, você automatiza a geração de CPFs válidos em segundos, podendo personalizar os padrões conforme necessário. Isso não só economiza tempo, mas também garante que todos os CPFs gerados sejam consistentes e prontos para uso em testes de sistemas.