仅为特定文件设置 Windows 文件类型关联

Set Windows file type association for a specific file only

如何以编程方式将文件与特定 "opens with" 操作相关联?也就是说,我在 Windows 台计算机上创建 filename.py,并将其放在桌面上。我想双击它以 运行 python 解释器,而不是打开文本编辑器。

我可以使用属性 window 执行此操作,但我想在创建它时自动执行此操作(从另一个 python 程序)。

我不想设置通用文件扩展名,因为我想双击 .py 文件以调出编辑器,而不是 运行 程序。只有 对于这个特定文件 我想要这种行为。我可以从 Windows GUI 中执行此操作;我想知道如何以编程方式进行。

没有安装程序。 Python .py 程序是从 另一个 python 程序创建的。它是直接在文件系统中使用 open("filename.py").write(file_contents).

创建的

环境是Windows7

在Windows中,文件类型关联符是每个扩展名。任何具有相同扩展名的文件都被视为相同。这就是他们背后的全部想法。

原则上,您可以将 .py 类型关联更改为 运行 某个程序,该程序会检查它是否 运行 是该特定文件并执行不同的操作。

一种更容易、更易于管理和可预测的方法是 place a shortcut 而不是桌面上的程序 运行 您需要的任何东西 -- 在这种情况下,"path\to\python.exe" "path\to\your_program.py".顺便说一句,这就是快捷方式背后的全部想法。文件本身可以放在其他用户可写的位置,例如 %APPDATA%\<your_project_name>,这是应用程序数据的标准位置。