为什么我的Python脚本在Windows脚本主机运行方法上工作,而不是在Exec方法上工作
我有一个简单的Python脚本(“hi.py”),如下所示 我正在使用Excel VBA通过为什么我的Python脚本在Windows脚本主机运行方法上工作,而不是在Exec方法上工作,python,vba,shell,windows-scripting,Python,Vba,Shell,Windows Scripting,我有一个简单的Python脚本(“hi.py”),如下所示 我正在使用Excel VBA通过Windows脚本主机的运行方法调用“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,
Windows脚本主机的运行方法调用“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脚本主机的Exec方法
而不是Run方法
,我的计算机会说hi.py不是有效的win 32应用程序
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脚本主机执行方法运行python脚本?
非常感谢。方法exec()
需要一个可以传递到命令行的字符串。请尝试python C:\tmpFolder\pyProject\myProject\hi.py
或python3 C:\tmpFolder\pyProject\myProject\hi.py
,就像您在CMD.exe中键入它一样
wsh.exec
需要一个二进制可执行文件。Python文件既不是二进制文件,也不是可执行文件。有一些方法可以将Python文件编译成EXE。使用Google查找它们。@DYZ谢谢。我将用Google搜索类似于py2exe
的东西。看看这个:我尝试Python C:\tmpFolder\pyProject\myProject\hi.py
,但是在python窗口上看不到HI
。
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