.PYC

Arquivo PYC

Compiled Python Bytecode File
Fazer uma pergunta
RESPOSTA RÁPIDA

Um arquivo .pyc é um bytecode Python compilado que o CPython armazena em cache automaticamente para acelerar a inicialização. Normalmente, você não precisa abri-lo ou tocá-lo. Para executar um, use a versão correspondente do Python. Para recuperar o código-fonte de um .pyc, use um descompilador como o decompyle3 ou pycdc - os resultados são aproximados e podem falhar em versões mais recentes do Python.

Desenvolvedor: Python Software Foundation (CPython) Categoria: Arquivos de Desenvolvedor Padrão aberto MIME: application/x-python-code
ABRE EM Windows macOS Linux
Relacionado: .DO · .MD · .HEX · .XSD

Nesta página

19k+ extensões indexadas
Última revisão em Jun 30, 2026

Não tem certeza do que é seu arquivo?

Arraste qualquer arquivo para o nosso identificador - lemos apenas os primeiros bytes para nomear o formato.

Identificar um arquivo

O que é o formato de ficheiro PYC?

Arquivos .pyc são usados pela linguagem de programação Python. Um arquivo .pyc é um executável que contém bytecode compilado para um programa escrito em código-fonte Python. O bytecode é um conjunto de instruções para o interpretador executar o programa sem analisar novamente o código original em cada inicialização, o que acelera o tempo de importação e início.

Arquivos .pyc são acompanhados por seus arquivos de origem .py relacionados. O Python compila um arquivo .py e salva o resultado em um arquivo .pyc, que pode então ser usado para executar o programa diretamente. Desde o Python 3.2, esses arquivos de cache são colocados em um subdiretório __pycache__ ao lado da origem, com a versão do interpretador incorporada no nome do arquivo (por exemplo, script.cpython-312.pyc).

Cada arquivo .pyc começa com um cabeçalho de 16 bytes. Os primeiros dois bytes são um número mágico específico da versão - ele muda a cada lançamento do CPython - seguido por 0x0D 0x0A (CR LF) nos bytes 2-3. Os bytes restantes do cabeçalho contêm um carimbo de data/hora e o tamanho do arquivo de origem (o padrão) ou um hash do arquivo de origem para compilações determinísticas e reproduzíveis, um esquema introduzido pela PEP 552 no Python 3.7. Após o cabeçalho, o arquivo contém um objeto de código serializado (marshalled) que pode ser inspecionado com o módulo integrado dis do Python.

O bytecode .pyc está vinculado a uma versão específica do CPython - um arquivo compilado no Python 3.11 não será carregado no Python 3.12. O antigo formato de bytecode otimizado .pyo foi removido no Python 3.5; compilações otimizadas agora produzem arquivos .opt-1.pyc ou .opt-2.pyc. Para descompilar um .pyc de volta para um código legível, ferramentas como uncompyle6, decompyle3 e pycdc (Decompyle++) são comumente usadas, embora a compatibilidade varie conforme a versão do Python. No Windows, módulos de extensão compilados usam o formato .pyd relacionado.

Segurança e proteção

RISCO: MEDIUM

Um .pyc é um bytecode que o interpretador Python EXECUTA, portanto, um .pyc malicioso pode executar código arbitrário como um script - nunca execute um .pyc de uma fonte não confiável. Também é uma técnica comum para ocultar malware (enviando apenas o bytecode compilado). Por outro lado, distribuir seu próprio código como .pyc oferece uma proteção muito fraca: ele pode ser descompilado e, no mínimo, desmontado com o módulo 'dis' incluído, portanto NÃO é uma forma real de manter o código secreto. Excluir arquivos __pycache__ / .pyc é seguro - o Python os regenera automaticamente a partir das fontes .py.

Detalhes do formato

em resumo
NOME COMPLETOCompiled Python Bytecode File
DESENVOLVEDORPython Software Foundation (CPython)desde Early CPython (1990s); current header layout (PEP 552 hash-based, deterministic) since Python 3.7, 2018
TIPO MIMEapplication/x-python-code
TIPOBytecode CPython binário (objeto de código serializado com cabeçalho versionado)
PADRÃOAberto · livre de royalties
RELACIONADO.do.md.hex.xsd

Programas que abrem arquivos PYC

Windows3 apps
Python (run it) Código aberto Execute-o com a versão CORRESPONDENTE do Python: «python modulo.pyc». O interpretador executa o bytecode diretamente - mas a versão deve corresponder àquela que o compilou.
decompyle3 / uncompyle6 (decompile) Código aberto Recuperar fonte: «pip install decompyle3» e depois «decompyle3 arquivo.pyc > arquivo.py». Funciona melhor para Python até ~3.8; comentários/formatação são perdidos.
pycdc (Decompyle++) Código aberto Para Python mais recente (3.9+) onde o uncompyle6 falha: compile o pycdc e execute «pycdc arquivo.pyc». Melhor esforço; a precisão nas versões mais recentes é limitada.
macOS2 apps
Python (run it) Código aberto Execute-o com a versão CORRESPONDENTE do Python: «python modulo.pyc». O interpretador executa o bytecode diretamente - mas a versão deve corresponder àquela que o compilou.
uncompyle6 / decompyle3 (decompile) Código aberto Instale via pip e descompile para .py; as mesmas ressalvas de versão do Windows se aplicam.
Linux2 apps
Python (run it) Código aberto Execute-o com a versão CORRESPONDENTE do Python: «python modulo.pyc». O interpretador executa o bytecode diretamente - mas a versão deve corresponder àquela que o compilou.
decompyle3 / pycdc (decompile) Código aberto pip install decompyle3 (ou compile o pycdc para 3.9+), então descompile o .pyc de volta para .py.

Detalhes técnicos

especificação profunda
DesenvolvedorPython Software Foundation (CPython)
Tipo MIMEapplication/x-python-code
Estrutura do arquivoBinário - cabeçalho versionado de 16 bytes seguido por um objeto de código Python serializado
Número mágicoBytes 0-1: valor de 2 bytes específico da versão (difere por lançamento do CPython); bytes 2-3: sempre 0x0D 0x0A (CR LF)
Layout do cabeçalhoMágico de 32 bits, sinalizadores de campo de bits de 32 bits, seguidos por mtime de 32 bits + tamanho da fonte de 32 bits (modo timestamp) ou um hash da fonte de 32 bits (modo hash PEP 552)
Diretório de cacheArmazenado em __pycache__/ desde o Python 3.2; o nome do arquivo codifica a versão do interpretador, ex: script.cpython-312.pyc
Compatibilidade de versãoCada versão do CPython grava um número mágico exclusivo; um .pyc do Python 3.11 não será carregado no 3.12 e vice-versa
Portabilidade de plataformaIndependente de plataforma dentro da mesma versão do CPython - o mesmo .pyc roda em Windows, macOS e Linux com um interpretador correspondente
Variantes otimizadaspython -O e python -OO produzem .opt-1.pyc e .opt-2.pyc (removem asserts e docstrings); a extensão .pyo foi aposentada no Python 3.5
Controle de geração automáticaO CPython grava arquivos .pyc automaticamente na importação; suprimido pela flag -B ou pela variável de ambiente PYTHONDONTWRITEBYTECODE=1
Desmontagem / descompilaçãoO módulo dis integrado do Python desmonta o bytecode; ferramentas de terceiros uncompyle6, decompyle3 e pycdc (Decompyle++) tentam a reconstrução do código-fonte
Formato de serialização internaObjetos de código são serializados com o módulo marshal - um formato binário compacto distinto do pickle, não faz parte da API pública estável
Compilações baseadas em hashA PEP 552 (Python 3.7+) introduziu arquivos .pyc baseados em hash: o cabeçalho armazena um hash do arquivo de origem em vez do mtime para compilações reproduzíveis
LançadoEarly CPython (1990s); current header layout (PEP 552 hash-based, deterministic) since Python 3.7, 2018
Padrão abertoSim · livre de royalties
Especificaçãodocs.python.org

Conversões de PYC

Perguntas e Respostas da Comunidade

perguntado por usuários
Faça uma pergunta rápida
Obtenha ajuda de pessoas que trabalham com arquivos PYC. Seja específico - inclua seu sistema e a versão do software.
Não é necessário criar conta · respostas geralmente em um dia

Ainda não há perguntas - seja o primeiro a perguntar sobre arquivos PYC.

Perguntas frequentes

O que é um arquivo .pyc e posso excluí-lo?
É o bytecode Python compilado que o Python armazena em cache para iniciar mais rápido. Você pode excluir arquivos .pyc e pastas __pycache__ com segurança - o Python os recria a partir da origem .py na próxima vez que for executado.
Como converto um .pyc de volta para o código-fonte .py?
Descompilando-o. Use o decompyle3 ou uncompyle6 para Python até 3.8 («decompyle3 arquivo.pyc > arquivo.py»), ou pycdc para Python 3.9+. Os resultados são aproximados - comentários e formatação exata são perdidos - e podem falhar nas versões mais recentes do Python.
Por que meu arquivo .pyc não funciona?
Quase sempre é uma incompatibilidade de versão: um .pyc está vinculado à versão exata do CPython que o criou (o número mágico). Execute-o com essa mesma versão ou obtenha o .py original e deixe o seu Python recompilá-lo.
Enviar o .pyc em vez do .py esconde meu código-fonte?
Apenas fracamente. O .pyc pode ser descompilado de volta para Python legível e sempre desmontado com o módulo integrado 'dis'. Ele desencoraja a visualização casual, mas não é uma proteção real.
O que há dentro de uma pasta __pycache__?
Arquivos .pyc em cache nomeados como modulo.cpython-311.pyc - um por módulo importado, marcado com a versão do Python. É um cache de desempenho automático e é seguro removê-lo.
Posso executar um .pyc sem o arquivo .py?
Sim, se você tiver a versão correspondente do Python: «python modulo.pyc». O .py só é necessário para edição ou para o Python regenerar o cache.

Referências

1Python docs - dis (bytecode disassembler)docs.python.org
2PEP 552 - Deterministic pycspeps.python.org

Continue explorando

em todo o banco de dados

Principais extensões desta semana

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.BINCD/DVD Disc Image (BIN/CUE)
5.RPMSGRestricted Permission Message
6.MDMarkdown Document
7.NOMEDIAAndroid No-Media Marker File
8.PRO6XProPresenter 6 Bundle File
9.EXEWindows Executable (Portable Executable)
10.PRDXSoftMaker Presentations Document

Extensões relacionadas

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Ferramentas de arquivo gratuitas

Um identificador de arquivos e conversor de imagens no navegador - tudo funciona no seu dispositivo.

Abrir a caixa de ferramentas

Navegar por extensões de arquivo A-Z