0
0 комментариев

У меня есть скрипт на Python, который должен выполнить .bat файл с параметром.

D:\YandexDisc\AndroidApps\Build_DrawProjects\DrawOwls\gradlew.bat
assembleRelease

Из консоли всё работает нормально, но при разных способов запуска BAT файла из Python

D:\YandexDisc\Python

Питон пытается вызвать BAT файл из своей папки. По крайней мере, Gradle ругается, что assembleRelease не найден в проекте Python

  • What went wrong: Task ‘assembleRelease’ not found in root project ‘Python’.

Пробовал:

p = Popen('cmd.exe /k start '+'D:\YandexDisc\AndroidApps\Build_DrawProjects\DrawOwls\gradlew.bat assembleRelease')
p = subprocess.Popen('D:\\YandexDisc\\AndroidApps\\Build_DrawProjects\\DrawOwls\\gradlew.bat assembleRelease', creationflags=subprocess.CREATE_NEW_CONSOLE)
p = subprocess.Popen('D:\YandexDisc\AndroidApps\Build_DrawProjects\DrawOwls\gradlew.bat assembleRelease', creationflags=subprocess.CREATE_NEW_CONSOLE)
os.system("D:\YandexDisc\AndroidApps\Build_DrawProjects\DrawOwls\gradlew.bat assembleRelease")
os.system("D:\YandexDisc\AndroidApps\Build_DrawProjects\DrawOwls\gradlew.bat assembleRelease")
call("D:\YandexDisc\AndroidApps\Build_DrawProjects\DrawOwls\gradlew.bat assembleRelease")

Я проверил. Получается, что текущая директория это директория проекта и при запуске gradlew.bat работает с текущей директорией. То есть, мне нужно указать директорию при запуске бат файла.


Добавить комментарий