Validar CPFs manualmente é trabalhoso e propenso a erros. Este método oferece uma solução rápida e confiável usando um script Python simples, permitindo que você verifique centenas de CPFs em segundos, sem depender de conexão com a internet.
O script abaixo implementa o algoritmo oficial de validação de CPF, calculando e verificando os dois dígitos verificadores. Salve este código em um arquivo chamado valida_cpf.py.
def valida_cpf(cpf):
cpf = ''.join(filter(str.isdigit, cpf))
if len(cpf) != 11 or cpf == cpf[0] * 11:
return False
def calcula_digito(pesos):
soma = sum(int(digito) * peso for digito, peso in zip(cpf[:9], pesos))
resto = soma % 11
return 0 if resto < 2 else 11 - resto
digito1 = calcula_digito(range(10, 1, -1))
digito2 = calcula_digito(range(11, 1, -1))
return digito1 == int(cpf[9]) and digito2 == int(cpf[10])
def valida_arquivo(arquivo_entrada, arquivo_saida):
with open(arquivo_entrada, 'r') as entrada, open(arquivo_saida, 'w') as saida:
for linha in entrada:
cpf = linha.strip()
resultado = f"{cpf}: {'VÁLIDO' if valida_cpf(cpf) else 'INVÁLIDO'}"
saida.write(resultado + '\n')
print(resultado)
if __name__ == "__main__":
import sys
if len(sys.argv) != 3:
print("Uso: python valida_cpf.py entrada.txt saida.txt")
else:
valida_arquivo(sys.argv[1], sys.argv[2])
Crie um arquivo de texto chamado cpfs.txt com uma lista de CPFs, um por linha. Execute o script no terminal ou prompt de comando:
python valida_cpf.py cpfs.txt resultados.txt
| CPF de Entrada | Resultado Esperado |
|---|---|
| 12345678909 | INVÁLIDO |
| 529.982.247-25 | VÁLIDO |
| 111.111.111-11 | INVÁLIDO |
| 765.998.130-00 | VÁLIDO |
Com este método, você automatiza a validação de CPFs offline em segundos, eliminando erros manuais e garantindo que apenas números válidos sejam processados no seu sistema.