Форум сайта python.su
253
имею файл на диске полученый cPickle.dump(obj,f) или cPickle.dump(obj,f,2)
Как узнать как его читать?
Проблема в том что текстовый файл прекрасно читается двоичным анпиклером. Конечно неправильно.
Откуда проблема:
Приложение сбрасывает данные в двоичном формате, но иногда для целей редактирования хочется иметь и текстовый формат. Все время иметь такой формат неудобно - большие файлы и долго читаются. Можно договориться менять расширение или что-то подобное, но это конечно не очень удобно, поскольку опирается на соглашения которые половина разработчиков переврет и забудет через 3 недели.
Хотелось както так Load(“aa.dat”) и чтобы оно само разобралось что в файле (в файле конечно один объект).
Офлайн
0
Не смог проблему воспроизвести cPickle.load все хорошо читает.
Или я чего-то не понял…?
>>> import cPickle
>>> obj = {1: 11, 2: 22, 3: [1,2,3,'123', u'boo']}
>>> with open('TEST_TXT', 'w') as f:
... cPickle.dump(obj, f)
>>> with open('TEST_TXT') as f:
... cPickle.load(f)
0: {1: 11, 2: 22, 3: [1, 2, 3, '123', u'boo']}
>>> with open('TEST_BIN', 'wb') as f:
... cPickle.dump(obj, f, 2)
>>> with open('TEST_BIN') as f:
... cPickle.load(f)
2: {1: 11, 2: 22, 3: [1, 2, 3, '123', u'boo']}
>>>
Офлайн
14
+1
Офлайн
253
pillСпасибо большое вы мне очень помогли.
Не смог проблему воспроизвести cPickle.load
with open('TEST_TXT', 'w') as f:
cPickle.dump(obj, f)with open('TEST_TXT', 'rb') as f:
obj=cPickle.load( f)Офлайн