因为我喜欢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企业
答案 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\""
葛