Python:Matplotlib开放互动人物

时间:2016-10-07 09:51:57

标签: python matplotlib save interactive figure

因为我喜欢matlab(* .fig)的交互式数字。我写了一个用Python保存交互式数字的小程序。我使用pickle将一个matplotlib.pyplot图转储到name.pyfig文件中:

    output = open('name.pyfig', 'wb')
    pickle.dump(plt.gcf(), output)
    output.close()

打开我使用的数字:

    f = open('name.pyfig','rb')
    pickle.load(f)
    f.close()

现在我想实现以下内容:我想通过双击Windows文件浏览器中的name.pyfig文件来打开图形。

由于name.pyfig只包含该图的数据,我写了一个python脚本openfig.py来打开图中的

    python openfig.py name.pyfig

在CMD中工作得很好。为了能够通过双击pyfig文件来运行openfig.py,我将pyfig扩展名与bat文件关联(打开方式 - 选择默认程序),调用上面的代码也可以正常工作,只要bat文件是在同一个文件夹中!出于某种原因,如果pyfig文件位于其他地方,则无法选择bat文件作为默认程序!

任何解决方案? 葛

系统: Python版本2.7.9 赢得7企业

2 个答案:

答案 0 :(得分:0)

如果要将bat文件放在其他位置,则需要提供完整的绝对路径。

f = open('C:\full\path\to\folder\name.pyfig','rb')

答案 1 :(得分:0)

没关系,我手动添加了一个工作正常的注册表项:

    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\pyfig_auto_file]
    @=""

    [HKEY_CLASSES_ROOT\pyfig_auto_file\DefaultIcon]
    @="path_to_ico_file"

    [HKEY_CLASSES_ROOT\pyfig_auto_file\shell]

    [HKEY_CLASSES_ROOT\pyfig_auto_file\shell\open]

    [HKEY_CLASSES_ROOT\pyfig_auto_file\shell\open\command]
    @="\"path_to_bat_file\"\"%1\""