python 调用外部程序导致 [错误 193] %1 不是有效的 Win32 应用程序

11 投票
3 回答
24094 浏览
提问于 2025-04-16 15:03

我正在写一个图形界面程序,这个程序在完成一系列验证后,会执行一些已经存在的 vbscript .wsf 文件。

我的问题是,当我尝试执行这些 .wsf 文件时,出现了错误:

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

从命令行运行这些文件是没问题的。

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

我尝试了几种不同的方法,比如 call、os.system 等等,但结果都出现了同样的 Win32 错误。

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

有没有什么想法?

3 个回答

-1

如果你在使用Anaconda这个平台来运行Python程序,并且也是通过这个平台来触发程序的话,你需要在命令中指定Python.exe这个文件,同时在命令参数中指定你的Python文件。对我来说,这样做是有效的,因为我用Anaconda安装了所有需要的库。我是在Anaconda的命令提示符下运行我的程序的。

19

你安装了64位版本的Python吗?

我在用64位的Python 2.7调用一个32位的dll时,也遇到了类似的错误。当我换成32位的Python后,错误就消失了,事情也开始正常运作了!也许你遇到的也是同样的问题?

我想在64位的Windows系统中,一个64位的程序必须全部都是64位的哦 :)

5

正如警告所说,file.wsf 不是一个应用程序。它其实是一个脚本,需要通过脚本引擎来运行。你可能需要调用脚本处理程序。虽然我不知道具体的处理程序是什么,但我们假设它是 cscript.exe。你应该调整你的 call(),让它运行这个程序,并把 wsf 文件作为参数传递进去。

撰写回答