将文件扩展名关联到python脚本,以便我可以在Windows中双击打开文件

我想要做到以下几点:

  1. 以类似CSV的格式保存数字数据,并带有“.foo”扩展名;
  2. 将“.foo”文件扩展名与一些python脚本相关联,这些脚本依次打开.foo文件,读取它的内容,并用绘图库(最可能是matplotlib)绘制一些东西。

用例是:双击该文件,并立即popup相应的图。

我想知道如何编写一个python脚本来做到这一点。 此外,“打开”对话框只允许我select可执行文件(* .exe)。 如果我select“fooOpener.py”,它不起作用。

Solutions Collecting From Web of "将文件扩展名关联到python脚本,以便我可以在Windows中双击打开文件"

这不是一个真正的编程问题,但是您需要做的是找出如何将Python可执行文件导入到打开数据文件的注册表项中。

例如,我创建了一个叫做opener.py的小Python脚本,如下所示:

 import sys print(sys.argv) input() 

然后我创建了一个testfile.foo并使用该文件的属性对话框中的“更改”按钮来选择opener.py 。 (如果单击“浏览”并将“打开方式”对话框的文件筛选器更改为“所有文件”,则可以执行此操作。)

当然这不起作用(正如你注意到的)。 所以我打开regedit并搜索opener.py并在以下注册表项中找到它:

 HKEY_CURRENT_USER\Software\Classes\Applications\opener.py\shell\open\command 

这个键的默认值是"C:\opener.py" %1 。 我把它改为python "C:\opener.py" %1 。 有效!

长话短说,要做到这一点,你需要自定义编辑注册表。 实际上,设置文件关联比编辑一个关键字更复杂(你还必须指出.fooopener.py关联)。

另一种方法是使用可用于此目的的几种工具之一将您的Python脚本转换为独立的可执行文件,或者在C语言中编写一个启动脚本的小型可执行文件。