我一直在寻找如何将 Visual Basic 与 Python 文件链接。
我在 Visual Basic 中尝试使用
shell
但没有任何反应。
我有一个名为
Go.py
的 Python 文件。我想将 Visual Basic 按钮与该文件链接并将返回值放入变量中。
知道如何做到这一点吗?
首先,你可以使用
Shell
,尽管不幸的是它可能比你想象的更复杂。
您当前的问题很简单 -
Shell
无法直接运行python文件,因此您需要让Shell
调用cmd /c python.exe Go.py
,并且您可能还需要提供python.exe
的完整路径。
但是,您还想捕获结果,并且
Shell
只返回进程 ID,而不返回任何类型的进程输出。 您可以查看一些外部流程调用的示例,尽管它们没有明确介绍如何捕获输出。 如果 Go.py
输出到终端,您可以使用 标准 Windows 输出重定向 将输出捕获到文件中,然后在 VisualBasic 中打开该文件并读取值。
System.Diagnostics.Process()
,而不是跳过所有尝试从 Shell
获得更多功能的麻烦。 (具体来说,请查看与输出重定向相关的 ProcessStartInfo
类属性,这比使用 Shell
的任何内容都给予您更多的控制权)。