Интересно, что было бы хорошим выбором для хранения двоичных данных в файле на диске. Отлично, если бы это был встроенный модуль Python, так как я хотел бы сохранить все это. Случайный доступ к письменным данным может быть плюсом, но это не требуется. Для этой реализации я бы предпочел простоту и скорость. Что я ищу: сохранить его сейчас - получить его позже. Заранее спасибо!Python Сохранение двоичных данных в файле на диске
EDITED:
Нашли проблему, почему cPickle был erroring вне. В одном из классов я объявил self.os = os И появляется self.os - это не то, что нравится cPickle ... Несколько позже я обнаружил, что cPickle не принимает объекты PyQT, если они (экземпляры класса PyQT) указаны как атрибуты класса (в случае, если вы выгружаете список экземпляров some_class).
Пример ниже, если запустить повторяет ту же ошибку:
import cPickle
import os
class MyClass(object):
"""docstring for MyClass"""
def __init__(self, arg):
super(MyClass, self).__init__()
self.arg = arg
self.os=os
data=MyClass("Hello World")
file_name='dampData.data'
out_file = open(file_name, 'wb')
cPickle.dump(data, out_file)
out_file.close()
В то время как демпфирование двоичных данных (который является экземпляром класса) cPickle дает эту ошибку: raise TypeError, «не может определять количество объектов% s».% Base .__ name__ TypeError: не может определять объекты модуля – alphanumeric
Какой класс вы демпинговы ? Вы пробовали: out_file = open (имя_файла, 'wb') in_file = open (имя_файла, 'rb') ? – zvisofer
Ive jist попробовал флаг «wb» вместо «w» во время записи в файл.К сожалению, это не решило проблему. cPickle отказывается сбрасывать. Мне удалось сделать дамп простой строковой переменной. Я открыл файл дампа, сделанный cPickle, и его содержимое оказалось читаемым человеком. Вы уверены, что cPickle работает с двоичной формой? – alphanumeric