Форум сайта python.su
Хочу с помощью pickle сохранить в файл список содержащий вот такие объекты:
class Layer:
def __init__(self, name=u"Слой", type=0, thickness=100, color=QColor(Qt.darkBlue), maskType=0, visibility=True):
self.mask = [] # список полигонов
self.name = name # u"Слой"
self.type = type # 0 - напыление, 1 - травление, 2 - диффузия
self.thickness = thickness # 100
self.color = color # Qt.darkBlue
self.maskType = maskType # 0 - позитивная, 1 - негативная
self.visibility = visibility # True
Traceback (most recent call last):
File "/home/soifong/workspace/xnano/src/ProjectManager.py", line 24, in saveProject
self.saveProjectAs()
File "/home/soifong/workspace/xnano/src/ProjectManager.py", line 31, in saveProjectAs
self.saveProject()
File "/home/soifong/workspace/xnano/src/ProjectManager.py", line 26, in saveProject
pickle.dump(self.parent.structure, self.filename)
File "/usr/lib/python2.5/pickle.py", line 1362, in dump
Pickler(file, protocol).dump(obj)
File "/usr/lib/python2.5/pickle.py", line 203, in __init__
self.write = file.write
AttributeError: 'QString' object has no attribute 'write'
Отредактировано (Авг. 5, 2009 20:24:54)
Офлайн
pasaranaxНадо передавать не имя файла, а открытый для записи файл.
pickle.dump(self.parent.structure, self.filename)
pickle.dump(self.parent.structure, open(self.filename, 'wb'))
Офлайн
Спасибо, что-то я об этом сразу не подумал )
Офлайн