【发布时间】:2013-07-02 21:30:52
【问题描述】:
我在从 Python 字典中恢复姿势时遇到了一些问题。我刚刚创建了一个包含对象数据的字典,并将该字典保存在一个 pickle 文件中。
现在我想从这个 pickle 文件中获取所有数据并将其恢复到另一个对象。 你能告诉我什么是最好的方法吗?
这是我的 save_pose 函数:
def save_pose () :
output = open('pose_dictionary.pkl', 'wb')
pickle.dump(grab_pose(cmds.ls(selection=1), True), output)
output.close()
dict_file = open('pose_dictionary.pkl', 'rb')
dict_pkld = pickle.load(dict_file)
dict_file.close()
print dict_pkld
我刚刚在 pickle 文件中保存了一个字典,所以当打印 dict_pkld 时它会返回这个
{u'left_pCube1_control': {u'translateX': {'value': 0.0, 'key': False}, u'translateY': {'value': 0.0, 'key': False}, u'translateZ': {'value': 0.0, 'key': False}, u'scaleX': {'value': 4.1730065104412066, 'key': {'outTangent': u'auto', 'inTangent': u'auto', 'inAngle': 0.0, 'outAngle': 0.0}}, u'scaleY': {'value': 4.1730065104412066, 'key': {'outTangent': u'auto', 'inTangent': u'auto', 'inAngle': 0.0, 'outAngle': 0.0}}, u'visibility': {'value': True, 'key': False}, u'rotateX': {'value': 0.0, 'key': False}, u'rotateY': {'value': 0.0, 'key': False}, u'rotateZ': {'value': 0.0, 'key': False}, u'scaleZ': {'value': 4.1730065104412066, 'key': {'outTangent': u'auto', 'inTangent': u'auto', 'inAngle': 0.0, 'outAngle': 0.0}}}
我现在想将这些数据从这个文件恢复到一个对象。
【问题讨论】:
-
这只是一个测试函数,用来验证
grab_pose()返回的内容是否等同于你最后得到的dict_pkld?问题是它们不相等吗?如果是这样,你能给我们一些样本数据(理想情况下只是一个字典,所以我们甚至根本不需要grab_pose)来测试它吗? -
dict_pkld包含您想要的数据。你的问题很不清楚。 -
是的,它包含数据,但我不知道如何恢复到其他对象
-
对不起我的英语不好。
-
如果你不知道如何用英语表达你想说的话,那就用代码来做吧。向我们展示您拥有的代码、您不知道如何编写的代码的框架、输入数据和您想要的输出数据。
标签: python dictionary pickle