2011-04-04 200 views
10

我正在编写一个GUI前端,在它执行了一堆验证之后,它将执行一系列已经存在的vbscript .wsf文件。python调用外部程序导致[错误193]%1不是有效的Win32应用程序

我的问题是,当我尝试执行.wsf档案我得到的错误

WindowsError: [Error 193] %1 is not a valid Win32 application 

在命令行中运行它们工作正常

d:\<some path>\<some file>.wsf 

我尝试了好几种不同的选择,通话,os.system等,但所有的结果在相同的Win32错误。

call("d:\<some path>\<some file>.wsf") 

任何想法?

回答

5

正如警告所说,file.wsf不是应用程序。这是一个通过作为脚本引擎参数传递的脚本。您可能需要调用脚本处理程序。我不知道处理程序是什么,但我们假设它是cscript.exe。您应该调整您的call()以运行此操作并将wsf文件作为参数传递。

+0

当我改变待调用命令(“的Cscript.exe”,“”)则返回错误“类型错误: bufsize必须是一个整数“ – ccwhite1 2011-04-04 13:07:19

+0

我现在打电话([”cscript.exe“,”“]) – ccwhite1 2011-04-04 13:09:36

16

您是否安装了64位版本的Python?

我在尝试对运行Python 2.7(64位)的(32位)dll执行ctype调用时遇到了同样的错误。当我改为32位版本的Python时,错误消失了,事情开始奏效!也许你有同样的问题?

我在Win64的假设,一个64位的过程必须是所有64位:)

+1

作为在32位运行的替代方案,您可能会在此列表中找到64位软件包:http:// www .lfd.uci.edu /〜gohlke/pythonlibs / – Tobber 2013-10-27 23:03:08

相关问题