我在Python中使用mayavi2/mlab创建了一个可视化,我需要一种方法与我的主管共享它。他没有任何编程技能,所以我希望他简单地打开带有我创建的所有平面和颜色的模型,并能够使用它。
我在 Python 中这样做是为了将其保存到文件中:
engine = mlab.get_engine()
engine.save_visualization('./Results/3DModel.mv2')
当我尝试通过"文件>加载可视化"使用 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。