Мне предоставлен файл, содержащий два маринованных объекта - он был отправлен мне как .pk-файл. Мне сказали, что у него есть два объекта, однако моя попытка отключить эти файлы не увенчалась успехом.Значение Ошибка при распаковке файла
Первый маринованный объект содержит словарь пар чисел с их римскими цифрами, а второй содержит словарные пары римских цифр с их номерами. Как можно разделить эти два словаря отдельно?
Это то, что я ниже, наряду с сообщением об ошибке я получаю:
import pickle
x,y=pickle.load(open("C://Users//Documents//roman.pk", "rb"))
print(x,y)
Сообщение об ошибке:
ValueError: too many values to unpack (expected 2)
Что произойдет, если вы просто «pickle.load» для одного объекта, а затем посмотрите, что он содержит? Один из словарей? Что-то другое? Вы также можете попробовать дважды вызвать pickle.load в одном файле (т. Е. «Открыть» его один раз, а затем дважды «загрузить»). См. Http://stackoverflow.com/q/20716812/3001761 – jonrsharpe
Если я запускаю его только с одной переменной, то он дает мне один из словарей. Если я попытаюсь загрузить его дважды, он просто дает мне первый словарь дважды. – Megan
Вы используете 'load (open (...))' оба раза? Если это так, это приведет к сбросу указателя на начало файла. Вам нужно ** открыть его один раз ** (с помощью диспетчера контекста 'with', в идеале - см. Http://stackoverflow.com/a/3287367/3001761). – jonrsharpe