Python subprocess.call,cwd不能正常工作

时间:2017-04-26 20:33:24

标签: python cmd terminal subprocess

我尝试了各种各样的东西,没有工作。 以下是我的尝试:

subprocess.call(['cordova-test android tests --app platforms/android/build/outputs/apk/android-debug.apk --device-name=emulator-5554 --no-compile'],
      cwd = ['/Users/User/Documents/dev/engineerappcopy'], shell = True)

subprocess.call(['cordova-test android tests --app platforms/android/build/outputs/apk/android-debug.apk --device-name=emulator-5554 --no-compile'],
       cwd = shlex.split(['/Users/User/Documents/dev/engineerappcopy'])

下一个

subprocess.call(['cordova-test android tests --app platforms/android/build/outputs/apk/android-debug.apk --device-name=emulator-5554 --no-compile'],
       cwd = ['/Users/User/Documents/dev/engineerappcopy'])

1 个答案:

答案 0 :(得分:4)

首先,参数行必须是一个字符串(可选地带空格)或参数列表,但不能作为唯一参数的命令行。

然后,当前工作目录必须是字符串,而不是列表。

试试这个:

subprocess.call(['cordova-test','android','tests','--app','platforms/android/build/outputs/apk/android-debug.apk','--device-name=emulator-5554','--no-compile'],
       cwd = '/Users/User/Documents/dev/engineerappcopy')