{
    "version": "https://jsonfeed.org/version/1",
    "title": "adriner.fr",
    "description": "",
    "home_page_url": "https://novo.adriner.fr",
    "feed_url": "https://novo.adriner.fr/feed.json",
    "user_comment": "",
    "author": {
        "name": "Adriner"
    },
    "items": [
        {
            "id": "https://novo.adriner.fr/como-extrair-milhares-de-chaves-de-acesso-nf-ect-e-em-segundos-com-python.html",
            "url": "https://novo.adriner.fr/como-extrair-milhares-de-chaves-de-acesso-nf-ect-e-em-segundos-com-python.html",
            "title": "Como extrair milhares de Chaves de Acesso (NF-e/CT-e) em segundos com Python",
            "summary": "Pessoal, quem trabalha com o setor fiscal sabe o pesadelo que é abrir arquivo por arquivo para copiar chaves de acesso. Para facilitar nossa vida aqui na fiscal.io, desenvolvi um pequeno script em Python que faz todo o trabalho pesado por nós. Ele varre todas&hellip;",
            "content_html": "<p data-path-to-node=\"6\"><span data-path-to-node=\"6,2\"><span class=\"citation-20\">Pessoal, quem trabalha com o setor fiscal sabe o pesadelo que é abrir arquivo por arquivo para copiar chaves de acesso. Para facilitar nossa vida aqui na </span><strong data-path-to-node=\"6,2\" data-index-in-node=\"155\"><span class=\"citation-20\">fiscal.io</span></strong></span><span data-path-to-node=\"6,4\">, desenvolvi um pequeno script em Python que faz todo o trabalho pesado por nós. Ele varre todas as pastas (21, 22, 23...) e entrega um arquivo prontinho com todas as chaves.\"</span></p>\n<div class=\"source-inline-chip-container ng-star-inserted\"> </div>\n<p id=\"p-rc_df3ecb604786c1c8-27\" data-path-to-node=\"6\"></p>\n<hr data-path-to-node=\"7\">\n<h3 data-path-to-node=\"8\">🛠️ O que o Script faz?</h3>\n<ul data-path-to-node=\"9\">\n<li>\n<p data-path-to-node=\"9,0,0\"><strong data-path-to-node=\"9,0,0\" data-index-in-node=\"0\">Busca Recursiva:</strong> Ele entra em todas as subpastas automaticamente (não importa se você organiza por ano ou mês).</p>\n</li>\n<li>\n<p data-path-to-node=\"9,1,0\"><strong data-path-to-node=\"9,1,0\" data-index-in-node=\"0\">Inteligência Fiscal:</strong> Identifica apenas sequências de <strong data-path-to-node=\"9,1,0\" data-index-in-node=\"53\">44 dígitos</strong>, que é o padrão das chaves de NF-e e CT-e.</p>\n</li>\n<li>\n<p data-path-to-node=\"9,2,0\"><strong data-path-to-node=\"9,2,0\" data-index-in-node=\"0\">Limpeza de Duplicados:</strong> Se uma chave aparecer em dois relatórios diferentes, o script salva apenas uma vez.</p>\n</li>\n</ul>\n<p> </p>\n<h3 data-path-to-node=\"11\">💻 O Código</h3>\n<p data-path-to-node=\"12\"><i data-path-to-node=\"12\" data-index-in-node=\"0\">(No Publii, use o bloco <strong data-path-to-node=\"12\" data-index-in-node=\"24\">\"Code\"</strong> para colar o script abaixo)</i></p>\n<pre class=\"language-python\"><code>import os\nimport re\n\n# Defina o caminho da sua pasta aqui\ncaminho_pasta = r\"C:\\SEU_CAMINHO_AQUI\"\narquivo_saida = os.path.join(caminho_pasta, \"chaves_extraidas.txt\")\n\npadrao_chave = re.compile(r'\\d{44}')\nchaves_totais = set()\n\nfor raiz, pastas, arquivos in os.walk(caminho_pasta):\n    for nome_arq in arquivos:\n        if nome_arq.endswith('.py'): continue\n        \n        try:\n            with open(os.path.join(raiz, nome_arq), 'r', encoding='latin-1') as f:\n                encontradas = padrao_chave.findall(f.read())\n                for c in encontradas:\n                    chaves_totais.add(c)\n        except:\n            continue\n\nwith open(arquivo_saida, 'w') as f_out:\n    for chave in sorted(chaves_totais):\n        f_out.write(chave + '\\n')\n\nprint(f\"Sucesso! {len(chaves_totais)} chaves extraídas.\")</code></pre>",
            "image": "https://novo.adriner.fr/media/posts/2/gift-habeshaw-581947-unsplash-lg.jpg",
            "author": {
                "name": "Adriner"
            },
            "tags": [
            ],
            "date_published": "2026-04-24T22:20:53-03:00",
            "date_modified": "2026-04-24T22:30:13-03:00"
        }
    ]
}
