【问题标题】:python Call to external program results in [Error 193] %1 is not a valid Win32 applicationpython 调用外部程序导致 [错误 193] %1 不是有效的 Win32 应用程序
【发布时间】:2011-04-04 12:48:07
【问题描述】:

我正在编写一个 GUI 前端,它在进行一系列验证后将执行一系列已经存在的 vbscript .wsf 文件。

我的问题是当我尝试执行 .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")

有什么想法吗?

【问题讨论】:

    标签: python windows


    【解决方案1】:

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

    当我尝试对运行 Python 2.7(64 位)的(32 位)dll 进行 ctype 调用时,我遇到了同样的错误。当我更改为 32 位版本的 Python 时,错误消失了,一切都开始工作了!也许你也有同样的问题?

    我想在 Win64 中,一个 64 位的进程必须都是 64 位的 :)

    【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 当我将命令更改为 call("cscript.exe","") 时,它返回错误“TypeError: bufsize must be an integer”
    • 我现在知道了 call(["cscript.exe",""])
    【解决方案3】:

    如果你使用 Anaconda 平台进行 python 和触发,你需要在命令参数中提到 Python.exe 文件和命令参数中的 Python 文件。它对我有用,我使用 anaconda 安装所有库。我正在 Anaconda 提示符上触发我的程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-19
      • 2015-09-29
      • 2013-02-28
      • 2020-02-19
      • 1970-01-01
      • 1970-01-01
      • 2017-01-07
      • 1970-01-01
      相关资源
      最近更新 更多