2011-04-04 55 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

相關問題