.PKL

Arquivo PKL

Python Pickle Serialized Object
Fazer uma pergunta
RESPOSTA RÁPIDA

Um arquivo PKL é quase sempre um arquivo Python Pickle - um instantâneo binário de um objeto Python, como um modelo de ML treinado, conjunto de dados ou dicionário. Abra-o com o módulo pickle do Python. Nunca abra um arquivo PKL de uma fonte não confiável: o Pickle pode executar código arbitrário ao ser carregado.

Desenvolvedor: Python Software Foundation (Guido van Rossum, original pickle module) Categoria: Arquivos de Dados MIME: application/octet-stream
ABRE EM Windows macOS Linux
Relacionado: .PKPASS · .DAT · .JSON · .RIS

Nesta página

19k+ extensões indexadas
Última revisão em Aug 2, 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 PKL?

Um arquivo .pkl contém um objeto Python serializado usando o módulo pickle da biblioteca padrão do Python. O processo de «pickling» converte quase qualquer estrutura de dados Python - dicionários, listas, instâncias de classe, arrays NumPy, modelos de machine learning treinados - em um fluxo de bytes que pode ser salvo no disco e posteriormente restaurado com pickle.load().

O formato utiliza uma Pickle Virtual Machine (PVM) baseada em pilha: um fluxo de opcodes de byte único que, quando executados, reconstroem o objeto original. As versões do protocolo variam do Protocolo 0 (opcodes baseados em texto, Python 1.2) ao Protocolo 5 (Python 3.8+, PEP 574, com suporte a buffers fora de banda para grandes arrays NumPy). O Protocolo 4 (magic bytes 80 04 95) é o padrão no Python 3.8-3.11. Não há um esquema fixo; a estrutura do fluxo de bytes é inteiramente determinada pelo objeto que está sendo serializado.

O uso moderno dominante é salvar modelos de ML treinados do scikit-learn, PyTorch (torch.save envolve o pickle internamente) e XGBoost, além de fazer o cache de resultados computados complexos. A biblioteca joblib (que também usa pickle) é preferida para grandes arrays NumPy devido ao suporte a mapeamento de memória.

Aviso de segurança: carregar um arquivo .pkl de uma fonte não confiável pode executar código Python arbitrário. Alternativas mais seguras incluem .json para dados simples, HDF5 ou Parquet para dados tabulares, e ONNX ou safetensors para modelos de ML. As extensões .pkl e .pickle são totalmente intercambiáveis.

Segurança e proteção

RISCO: HIGH

O Python Pickle pode executar código arbitrário durante o carregamento (via __reduce__ / opcode REDUCE). Um arquivo .pkl malicioso é um vetor de ataque de execução de código - trate-o como um executável. Carregue apenas arquivos .pkl de fontes em que você confia plenamente. Para compartilhamento de modelos de ML, prefira safetensors (HuggingFace) ou o formato ONNX, que não podem executar código ao carregar. A documentação do pickle avisa explicitamente: «O módulo pickle não é seguro».

Detalhes do formato

em resumo
NOME COMPLETOPython Pickle Serialized Objecttambém conhecido como Pickle file, .pkl file
DESENVOLVEDORPython Software Foundation (Guido van Rossum, original pickle module)desde 1995 (Python 1.2, original pickle module)
TIPO MIMEapplication/octet-stream
TIPOfluxo de objeto Python serializado binário
Esta extensão também é usada por…
  • Microsoft Exchange Migration Wizard Packing List - Ferramenta legada de migração do Microsoft Exchange usava .pkl para listas de empacotamento; completamente não relacionado ao pickle do Python.
MAGIC BYTES · ASSINATURA DO ARQUIVO
OFFSET
000102
HEX
800495
ASCII
···
Protocolo 4: 0x80 0x04 0x95 (mais comum, Python 3.4+). Protocolo 3: 0x80 0x03 (Python 3.0-3.3). Protocolo 2: 0x80 0x02 (Python 2.3+). Protocolo 0/1: sem cabeçalho mágico (opcodes de texto/binários, '\x80' ausente). Protocolo 5: 0x80 0x05 (Python 3.8+).

Programas que abrem arquivos PKL

Windows3 apps
Python (pickle module) Código aberto import pickle; obj = pickle.load(open('file.pkl', 'rb')) - então inspecione o obj.
Visual Studio Code (with Python extension) Gratuito Abra um Jupyter notebook ou terminal Python no VS Code; use pickle.load() para inspecionar o conteúdo.
Spyder IDE Código aberto Use o Variable Explorer no Spyder ou execute pickle.load() no console IPython.
macOS1 app
Python (pickle module) Código aberto import pickle; obj = pickle.load(open('file.pkl', 'rb')) - então inspecione o obj.
Linux1 app
Python (pickle module) Código aberto import pickle; obj = pickle.load(open('file.pkl', 'rb')) - então inspecione o obj.

Detalhes técnicos

especificação profunda
CodificaçãoFluxo de opcode binário para a Pickle Virtual Machine (PVM)
Magic bytes do Protocolo 480 04 95 no deslocamento 0 (Python 3.4+; padrão no Python 3.8-3.11)
Magic bytes do Protocolo 580 05 no deslocamento 0 (Python 3.8+, PEP 574, suporte a buffer fora de banda para NumPy)
Magic bytes do Protocolo 280 02 no deslocamento 0 (Python 2.3+, suporte a classes de novo estilo, PEP 307)
Intervalo de protocolosProtocolo 0 (opcodes de texto, 1995) até Protocolo 5 (Python 3.8+, 2019)
Estrutura de dadosFluxo de opcode plano com pilha de operandos e tabela de memorização; o opcode STOP (0x2E) marca o fim do fluxo
EsquemaSem esquema fixo; a estrutura é determinada inteiramente pelo objeto Python sendo serializado
Tipo MIMEapplication/octet-stream (nenhum tipo MIME registrado)
Tamanho de arquivo típico1 KB - vários GB (de pequenos dicionários a grandes tensores de peso de modelos de ML)
Risco de segurançaExecução de código Python arbitrário possível no pickle.load() a partir de fontes não confiáveis
Portabilidade entre linguagensApenas Python; nenhuma outra linguagem pode ler ou gravar nativamente este formato
Uso moderno principalSalvamento de modelos scikit-learn, pesos PyTorch (torch.save), modelos XGBoost, computações em cache
Extensão intercambiável.pickle é idêntico em formato e totalmente intercambiável com .pkl
Biblioteca relacionadajoblib envolve o pickle com otimizações de mapeamento de memória adequadas para grandes arrays NumPy
Lançado1995 (Python 1.2, original pickle module)
Versão mais recenteProtocol 5 (Python 3.8+, PEP 574, 2019)
Especificaçãodocs.python.org

Perguntas e Respostas da Comunidade

perguntado por usuários
Faça uma pergunta rápida
Obtenha ajuda de pessoas que trabalham com arquivos PKL. Seja específico - inclua seu sistema e a versão do software.
Não é necessário criar conta · respostas geralmente em um dia
A
ArnoSep 2026SEM RESPOSTA
Comment créer un fichier pkl ?
Aguardando uma resposta

Perguntas frequentes

Como eu abro um arquivo .pkl?
Use Python: import pickle; obj = pickle.load(open('file.pkl', 'rb')). Carregue apenas arquivos pkl em que você confia - eles podem executar código ao carregar.
É seguro abrir um arquivo .pkl?
Apenas se você confiar na fonte. O Pickle pode executar código Python arbitrário durante o carregamento. Nunca abra arquivos .pkl de fontes desconhecidas.
Qual programa criou meu arquivo .pkl?
Quase certamente o Python - seja diretamente via pickle/joblib, ou um framework como scikit-learn (model.fit seguido de joblib.dump) ou PyTorch (torch.save).
Posso abrir um arquivo .pkl sem o Python?
Não de forma significativa. O Pickle é específico do Python. Você precisa do Python e, idealmente, da mesma biblioteca que criou o arquivo (scikit-learn, PyTorch, etc.).
Como converto .pkl para JSON ou CSV?
Carregue primeiro com o pickle do Python e depois especifique a serialização: json.dump(obj, open('out.json','w')) para dados serializáveis em JSON, ou pd.DataFrame(obj).to_csv() para dados tabulares.
Qual é a diferença entre .pkl e .pickle?
Eles são idênticos - ambos usam o formato pickle do Python. A escolha da extensão é uma convenção; .pkl é mais comum em contextos de ML.

Referências

1Python Docs - pickle moduledocs.python.org
2PEP 307 - Protocol 2 (Python 2.3)peps.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.JPGJPEG Image
4.PARTPartial Download File
5.RPMSGRestricted Permission Message
6.MDMarkdown Document
7.DATProgram Data File (generic)
8.EXEWindows Executable (Portable Executable)
9.BINCD/DVD Disc Image (BIN/CUE)
10.DBSQLite Database File

Extensões relacionadas

.PKPASSApple Wallet Pass (formerly Passbook)
.DATProgram Data File (generic)
.JSONJavaScript Object Notation file
.RISResearch Information Systems citation file
.OFXOpen Financial Exchange
.CSVComma-Separated Values

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