PythonWin 在不同版本中打开不同的脚本(Python 2 & Python 3)

Posted

技术标签:

【中文标题】PythonWin 在不同版本中打开不同的脚本(Python 2 & Python 3)【英文标题】:PythonWin opening different scripts in different versions (Python 2 & Python 3) 【发布时间】:2020-04-20 17:09:33 【问题描述】:

我使用 PythonWin 作为我的主要脚本编辑器。

为了区分脚本,我使用不同的扩展名,*.py 用于 Python 2 脚本,*.py3 用于 Python 3 脚本。 我通过 HKEY_CLASSES_ROOT 注册表项在其适当版本的 PythonWin.exe 中打开了每个扩展,所以这很好。 问题是每当我运行 PythonWin.exe 版本 2 并单击 *.py3 文件时,它会在当前打开的 PythonWin 版本 2 版本中打开我的脚本。同样,如果我打开第 3 版并打开 *.py 文件,它会在当前打开的第 3 版 PythonWin 中打开。

我想知道是否有其他人遇到过这个问题,以及他们是否找到了任何类型的下降解决方法,因此每个文件扩展名都在各自版本的 PythonWin 中打开。

【问题讨论】:

【参考方案1】:

事实证明,PythonWin.exe 有一些可传递的参数来允许它打开多个实例。 您可以使用命令强制它打开一个新进程

"C:\python27\Lib\site-packages\pythonwin\Pythonwin.exe" /new "%L"

在 .py 和 .py3 的注册表项中使用它作为打开命令将在各自版本的 PythonWin 中打开它们。 唯一的缺点是每次打开一个新文件时,都会打开一个新的 PythonWin 实例。 /new 还将禁用任何动态数据交换(Windows 使用它在打开的应用程序之间进行通信),因此 PythonWin 的实例将永远不会打开从其中的 Windows 资源管理器打开的任何新文件。 一旦你打开了一个实例,你也可以只使用“打开”文件菜单选项来打开新文件,或者只打开每个版本的 PythonWin 的多个实例。

【讨论】:

以上是关于PythonWin 在不同版本中打开不同的脚本(Python 2 & Python 3)的主要内容,如果未能解决你的问题,请参考以下文章

需要骨架代码从 PythonWin 调用 Excel VBA

python win32 COM关闭excel工作簿

批量下载Python不同版本源码包的小脚本

批量下载Python不同版本源码包的小脚本

pythonwin7上多个版本python安装

同一个excel,不同版本打开页数不同。