打開蝙蝠我有一個文件夾中.bat
與名爲exe
abcexport.exe
用下面的代碼中:從蟒蛇
abcexport.exe myswf.swf
雙擊蝙蝠通常在Windows上導出swf
預期。
我需要從python內部做到這一點,但它抱怨abcexport是「不被識別爲內部或外部命令」。
我的代碼:
嘗試1 -
os.startfile("path\\decompiler.bat")
嘗試2 -
subprocess.call([path\\decompiler.bat"])
也試圖與os.system()
相同,並且與subprocess
方法Popen
,並傳遞參數shell=True
端同上
使用'殼= TRUE'是不必要的運行.BAT用'Popen'(和'呼叫「等)。底層的'CreateProcess'調用知道運行'ComSpec'環境變量中設置的shell。 – eryksun
由於批處理文件依賴於工作目錄,因此需要使用'cwd'參數進行設置。也就是說,.bat寫得很糟糕。它應該將其目錄稱爲'%〜dp0',即腳本的[d] rive和[p] ath(arg 0)。 – eryksun
當您通過雙擊運行批處理文件時,它將起作用,因爲資源管理器將工作目錄設置爲批處理文件的目錄。 – eryksun