.PICKLE

Файл PICKLE

Python Pickle Serialization File
Задать вопрос
БЫСТРЫЙ ОТВЕТ

Файл PICKLE хранит сериализованный объект Python - обученную модель ML, набор данных или структуру данных - созданный встроенным модулем pickle. Откройте его с помощью Python: import pickle; data = pickle.load(open('file.pickle', 'rb')). Никогда не загружайте файлы pickle из ненадежных источников; они могут выполнять произвольный код на вашем компьютере.

Разработчик: Python Software Foundation Категория: Файлы разработчика Открыть стандартное MIME: application/octet-stream
ОТКРЫВАЕТСЯ НА Windows macOS Linux
Связанные: .DO · .MD · .HEX · .XSD

На этой странице

Проиндексировано расширений: 19k+
Последняя проверка: Jul 14, 2026

Не знаете, что это за файл?

Перетащите любой файл в наш идентификатор - мы прочитаем первые байты, чтобы определить формат.

Идентифицировать файл

Что такое формат файла PICKLE?

Файлы с расширением .pickle хранят объекты Python, сериализованные с использованием модуля pickle, встроенной библиотеки сериализации объектов Python. Расширения .pickle и .pkl взаимозаменяемы для одного и того же формата; .pickle - это более длинная явная форма, в то время как .pkl - компактный трехсимвольный вариант, используемый со времен Python 1.x.

Содержимое файлов Python Pickle

Сериализованные объекты в файлах .pickle могут быть любого типа Python. Файлы .pickle используются для сериализации объектов баз данных, кэширования весов моделей машинного обучения или сохранения состояния программы между запусками. Следует использовать только файлы .pickle из доверенных источников, так как такие файлы могут содержать вредоносное ПО - десериализация ненадежного pickle-файла может привести к выполнению произвольного кода Python. Объекты Pickle могут быть сжаты извне с помощью gzip, bz2 или lzma.

Как создаются файлы Python PICKLE?

Процесс сериализации называется «консервацией» (pickling) и выполняется с помощью методов dump() и dumps(). Метод dump() используется для сериализации объекта в файл, а dumps() сохраняет объект в виде объекта bytes. Десериализация - преобразование потока байтов обратно в исходный объект - выполняется с помощью load() и loads(); этот процесс называется «расконсервацией» (unpickling).

Версия протокола pickle управляет бинарным форматом. Протокол 0 - это человекочитаемый ASCII; протоколы 1-5 являются прогрессивно бинарными, при этом протокол 5 (Python 3.8+) добавляет внеполосные буферы для эффективной обработки больших массивов .NPY. В рабочих процессах машинного обучения .pickle широко используется для сохранения моделей scikit-learn и чекпоинтов PyTorch, хотя SafeTensors набирает популярность как более безопасная альтернатива специально для весов моделей.

Безопасность и защита

РИСК: HIGH

КРИТИЧЕСКОЕ ПРЕДУПРЕЖДЕНИЕ: Файлы Pickle могут выполнять произвольный код Python при загрузке. Вредоносный файл .pickle может удалять файлы, загружать вредоносное ПО или захватывать управление системой. Никогда не загружайте файл pickle из ненадежного источника. В рабочих процессах ML/AI вредоносные файлы pickle в репозиториях моделей (Hugging Face Hub, GitHub) являются активным вектором угроз. Используйте picklescan для сканирования файлов перед загрузкой или перейдите на формат SafeTensors для весов моделей. CVE-2025-1889: picklescan < 0.0.22 можно было обойти, используя нестандартные расширения файлов внутри архивных пакетов моделей.

Детали формата

в двух словах
ПОЛНОЕ НАЗВАНИЕPython Pickle Serialization Fileтакже известен как Python Pickle file, pickled object file
РАЗРАБОТЧИКPython Software Foundationс 1994 (Python 1.1; pickle module first released)
MIME-ТИПapplication/octet-stream
ТИПбинарный формат сериализации
СТАНДАРТОткрытый · без роялти
СВЯЗАННЫЕ.do.md.hex.xsd
MAGIC BYTES · СИГНАТУРА ФАЙЛА
СМЕЩЕНИЕ
0001
HEX
8005
ASCII
··
Магический байт варьируется в зависимости от протокола: \x80\x00 (протокол 0, человекочитаемый), \x80\x02 (протокол 2, Python 2.3+), \x80\x03 (протокол 3, Python 3.0+), \x80\x04 (протокол 4, Python 3.4+), \x80\x05 (протокол 5, Python 3.8+). Протокол 0 не имеет бинарной метки - это человекочитаемые коды операций ASCII. Все бинарные протоколы начинаются с кода операции 0x80, за которым следует байт версии протокола.

Программы, открывающие файлы PICKLE

Windows3 apps
Python Открытый код python -c "import pickle; import pprint; pprint.pprint(pickle.load(open('file.pickle','rb')))" - выводит десериализованный объект. Используйте только с доверенными файлами.
VS Code (with Python extension) Бесплатно Откройте терминал Python, импортируйте pickle и загрузите файл интерактивно в Jupyter notebook или Python REPL.
Jupyter Notebook / JupyterLab Открытый код В ячейке блокнота: import pickle; data = pickle.load(open('file.pickle','rb')); print(data)
macOS1 app
Python Открытый код python -c "import pickle; import pprint; pprint.pprint(pickle.load(open('file.pickle','rb')))" - выводит десериализованный объект. Используйте только с доверенными файлами.
Linux1 app
Python Открытый код python -c "import pickle; import pprint; pprint.pprint(pickle.load(open('file.pickle','rb')))" - выводит десериализованный объект. Используйте только с доверенными файлами.

Технические подробности

глубокая спецификация
Кодировка файлаБинарная (протоколы 1-5); человекочитаемые коды операций ASCII (протокол 0)
Магические байты0x80, за которым следует байт версии протокола; например, 0x80 0x05 для протокола 5 (Python 3.8+); протокол 0 не имеет бинарной метки
Протоколы Pickle0 (ASCII, Python 1.x); 1 (бинарный, Python 1.x); 2 (классы нового стиля, Python 2.3+); 3 (байты, Python 3.0+); 4 (объекты >4 ГБ, Python 3.4+); 5 (внеполосные буферы, Python 3.8+)
Протокол по умолчаниюПротокол 5 является стандартным в Python 3.8 и более поздних версиях
СжатиеВстроенное отсутствует; обычно упаковывается извне в gzip, bz2 или lzma; joblib добавляет собственный слой сжатия
ШифрованиеОтсутствует - встроенного шифрования нет; при необходимости шифруйте на уровне файловой системы или оболочки
Типичный размер файлаМенее 1 МБ для конфигураций моделей; от 1 МБ до нескольких ГБ для весов моделей ML и больших наборов данных
Риск безопасностиДесериализация ненадежных данных pickle может привести к выполнению произвольного кода Python через хуки __reduce__ - никогда не расконсервируйте файлы из ненадежных источников
Внутренняя структураПоток кодов операций pickle, рекурсивно кодирующих объекты Python; протокол 4+ использует фреймы для поточности; протокол 5 добавляет внеполосные буферы для копирования больших массивов без участия CPU
MIME-типapplication/octet-stream (формально); application/x-pickle (неформально)
КроссплатформенностьПлатформенно-независимый; работает в любой ОС, поддерживаемой Python (Windows, Linux, macOS)
API сериализацииdump() и dumps() для сериализации; load() и loads() для десериализации
Использование в ML/AIОсновной формат сериализации для моделей scikit-learn и чекпоинтов PyTorch; SafeTensors набирает популярность как более безопасная альтернатива для весов моделей
Выпущен1994 (Python 1.1; pickle module first released)
Последняя версияProtocol 5 (Python 3.8, 2019); default protocol 5 from Python 3.14
Открыть стандартноеДа · без роялти
Спецификацияdocs.python.org

Конвертации PICKLE

Вопросы и ответы сообщества

спрошено пользователями
Задать быстрый вопрос
Получите помощь от людей, работающих с файлами PICKLE. Будьте конкретны - укажите вашу систему и версию ПО.
Аккаунт не нужен · ответы обычно в течение дня

Вопросов пока нет - станьте первым, кто спросит о файлах PICKLE.

Часто задаваемые вопросы

Как открыть файл .pickle?
Используйте Python: import pickle; data = pickle.load(open('file.pickle', 'rb')). Загружайте файлы только из доверенных источников - pickle может выполнять произвольный код.
В чем разница между .pickle и .pkl?
Это один и тот же формат с разными расширениями. .pkl чаще встречается на практике; .pickle - это полное слово. Модуль pickle в Python принимает оба варианта.
Безопасно ли открывать файлы pickle?
Только если вы доверяете источнику. Pickle по своей сути небезопасен с ненадежными данными - загрузка вредоносного файла pickle может привести к выполнению произвольного кода на вашем компьютере. Для моделей ML из неизвестных источников сначала проверьте их с помощью picklescan.
Можно ли конвертировать файл pickle в JSON?
Только если объект pickle содержит типы, совместимые с JSON. Используйте Python: json.dump(pickle.load(open('file.pickle','rb')), open('out.json','w')). Сложные объекты (массивы NumPy, экземпляры классов) требуют пользовательских сериализаторов.
Какой протокол Python следует использовать при сохранении pickle?
Используйте protocol=5 (Python 3.8+) для лучшей производительности с большими данными, особенно массивами NumPy. Используйте protocol=2, если вам нужна совместимость с Python 2. Укажите это так: pickle.dump(obj, f, protocol=5).
Почему мой файл pickle такой большой?
Pickle сохраняет полный граф объектов, включая метаданные классов. Для массивов NumPy или весов моделей ML используйте сжатые форматы: pickle.dump(obj, gzip.open('file.pkl.gz','wb')) или перейдите на SafeTensors/HDF5.
Можно ли открыть файл pickle в Excel или электронной таблице?
Напрямую нельзя. Если pickle содержит pandas DataFrame, сначала экспортируйте его в CSV с помощью Python: df.to_csv('out.csv').

Ссылки

1Python docs - pickle moduledocs.python.org
2PEP 3154 - Pickle Protocol 4peps.python.org

Узнать больше

по всей базе данных

Популярные расширения на этой неделе

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

Похожие расширения

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

Бесплатные инструменты для файлов

Идентификатор файлов и конвертер изображений в браузере - все работает на вашем устройстве.

Открыть инструменты

Обзор расширений файлов A-Z