为什么我的Python脚本工作的窗口脚本宿主运行方法,但不是exec方法
问题描述:
我有一个简单的Python脚本(“hi.py”),如下为什么我的Python脚本工作的窗口脚本宿主运行方法,但不是exec方法
import time
print("HI")
time.sleep(5)
我使用Excel VBA来调用“ “hi.py” 由Windows Script Host's Run Method
(如下面的代码)。它的工作原理。
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
我该如何运行我的python脚本Windows Script Host Exec Method
? 非常感谢。
答
方法exec()
需要一个可传递给命令行的字符串。尝试python C:\tmpFolder\pyProject\myProject\hi.py
或python3 C:\tmpFolder\pyProject\myProject\hi.py
,就像你会在CMD.exe
+0
我尝试'蟒蛇C:\ tmpFolder \ pyProject \ myProject \ hi.py',但在python窗口中看不到'HI'。 – PaichengWu
键入'wsh.exec'需要一个二进制可执行文件。 Python文件既不是二进制也不是可执行文件。有一些方法可以将Python文件编译到EXE中。使用Google找到它们。 – DyZ
@DYZ谢谢。我会将谷歌的东西,如'py2exe'。 – PaichengWu
看看这个:https://stackoverflow.com/questions/45410316/is-there-a-way-to-call-a-python-code-in-excel-vba –