我在Python中使用mayavi2 / mlab创建了一个可视化,我需要一种方法与我的主管共享它。他没有任何编程技巧,所以我希望他只需用我创建的所有平面和颜色打开模型,然后就可以玩它。
我在Python中将其保存到文件中:
engine = mlab.get_engine()
engine.save_visualization('./Results/3DModel.mv2')
当我尝试通过'File>使用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)
提前致谢!
答案 0 :(得分:0)
我不知道为什么这些函数会以这种方式工作,但我修改了源文件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。