为什么我的 Python 脚本在 Window 脚本宿主 运行 方法上工作,而不是 Exec 方法

Why do My Python Script Work on Window Script Host Run Method, But NOT Exec Method

我有一个简单的 Python 脚本 ("hi.py"),如下所示

import time

print("HI")
time.sleep(5)

我正在使用 Excel VBA 通过 Windows Script Host's Run Method 调用“"hi.py"”(代码如下)。有效。

sub testRun()
    Dim wsh As Object
    Dim a As Variant

    Set wsh = CreateObject("WScript.Shell")
    a = wsh.run("C:\tmpFolder\pyProject\myProject\hi.py", 1, True)
End Sub

但是如果我使用 Windows Script Host's Exec Method 而不是 Run Method,我的电脑会显示 hi.py is not a valid win 32 application

Sub testExec()
    Dim wsh As Object, oexec As Object

    Set wsh = CreateObject("WScript.Shell")
    Set oexec = wsh.exec("C:\tmpFolder\pyProject\myProject\hi.py")
End Sub

如何使用 Windows Script Host Exec Method 运行 我的 python 脚本? 非常感谢。

方法 exec() 需要一个可以传递给命令行的字符串。尝试 python C:\tmpFolder\pyProject\myProject\hi.pypython3 C:\tmpFolder\pyProject\myProject\hi.py,就像您输入 CMD.exe

一样

Link to the Syntax at MSDN