如您的注释所述,如果您运行 相同的命令, 则命令提示符和使用Pythonsubprocess
模块都会产生相同的结果(0退出代码)。
您可能会看到不同的退出代码,因为您使用了 不同的 命令。毫不奇怪。Pythonsubprocess
模块返回正确的(对于给定命令)退出代码。
如果它没有返回正确的退出状态,那么您可以& exit
在cmd.exe命令的末尾添加作为获取正确返回代码的解决方法,请参阅Python问题上的“ Windows子进程:shell = True的错误返回代码”追踪器:
from subprocess import check_call
check_call(r'C:\path\to\runsikuli.cmd -r C:\path\to\sikuli-script.sikuli & exit',
shell=True)