все Python 3pickleфункция
pickle.load()
загрузка
Читает один объект pickle из двоичного файла. Внимание: загрузка недоверенных данных исполняет произвольный код.
Синтаксис
obj = pickle.load(file, *, fix_imports=True, encoding='ASCII', errors='strict', buffers=None)
Опасность не теоретическая: pickle при загрузке вызывает функции, записанные в потоке, и подготовленный файл выполнит команду в системе ещё до того, как вы увидите объект. Поэтому load годится только для файлов, которые записала ваша же программа; для данных извне — json. Один вызов читает один объект: если dump вызывали несколько раз, читайте в цикле до EOFError. Файл открывают в 'rb'.
Примеры
import pickle
with open('log.pkl', 'wb') as f:
for n in range(3):
pickle.dump({'n': n}, f)
records = []
with open('log.pkl', 'rb') as f:
while True:
try:
records.append(pickle.load(f))
except EOFError:
break
print(records) # → [{'n': 0}, {'n': 1}, {'n': 2}]
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности