Python子进程给出OSError:[WinError 193]%1不是有效的Win32应用程序

时间:2018-09-20 04:08:40

标签: python bash operating-system subprocess

我正在编写一个需要调用bash脚本的python脚本。 python脚本包含变量a1a2,这些变量需要作为参数传递给bash脚本。 我已导入subprocess并按以下方式运行它:

subprocess.check_call( ["./test.sh", a1, a2], shell=False)

但是我从这一行得到一个错误

OSError:[WinError 193]%1不是有效的Win32应用程序。 我应该怎么做?

1 个答案:

答案 0 :(得分:1)

如果您具有“ Windows上的Ubuntu上的Bash”,则可以这样调用脚本:

subprocess.check_call( ['bash', '-c', './test.sh', a1, a2], shell=False)

要在Windows上具有此功能,您需要Windows 10,并且可以按照this link中的说明进行操作。

一般来说,即使在Unix机器上,这也是一种更好的方法(即使在大多数.sh文件中,它们都将执行而无需在bash中显式运行它们)