Подпроцесс Python выдает OSError: [WinError 193]% 1 не является допустимым приложением Win32 - PullRequest
0 голосов
/ 20 сентября 2018

Я пишу скрипт на python, который должен вызывать скрипт bash.Скрипт python содержит переменные a1 и a2, которые необходимо передать в качестве аргументов скрипту bash.Я импортировал subprocess и запускаю его так:

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

, но из этой строки я получаю сообщение об ошибке:

OSError: [WinError 193]% 1 не являетсядействительное приложение Win32.Что я должен делать по-другому?

1 Ответ

0 голосов
/ 20 сентября 2018

Если у вас есть «Bash on Ubuntu в Windows», вы можете назвать свой скрипт следующим образом:

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

Чтобы использовать эту функцию в Windows, вам нужна Windows 10, и вы можете следовать инструкциям в эта ссылка .

Вообще говоря, даже на Unix-машинах это будет лучшим подходом (даже если на большинстве из них .sh файлы будут выполняться без явного запуска их в bash)

...