我在Python中使用mayavi2 / mlab创建了一个可视化,我需要一种方法与我的主管共享它。他没有任何编程技巧,所以我希望他能够简单地打开我创建的所有平面和颜色的模型,并能够使用它。
我在Python中这样做将它保存到文件中:
engine = mlab.get_engine()
engine.save_visualization('./Results/3DModel.mv2')
当我尝试通过'File> Load Visualization'使用Mayavi2(设想后端)用户界面打开'3DModel.mv2'时,我得到以下异常:
Exception
In /usr/local/lib/python2.7/dist-packages/apptools/persistence/state_pickler.py:924
TypeError: Given object is neither a file or String (in _get_file_read)
提前致谢!
我不知道为什么这些函数以这种方式工作,但我修改了源文件state_pickler.py并删除了state_pickler.pyc:
def _get_file_read(f):
if hasattr(f, 'read'):
return f
else:
return open(f, 'rb')
def _get_file_write(f):
if hasattr(f, 'write'):
return f
else:
return open(f, 'wb')
而现在它正在发挥作用。 f的类型是unicode。