Запуск bash-скриптов из python. MAC OS

#python #macos

#python #macos

Вопрос:

Я пытаюсь запускать скрипты для python in MAC OS.

Мне не удалось запустить сценарии, которые выполняются Bash.sh scripts , у кого-нибудь здесь есть идея о том, как я могу запустить bash.sh из python в Mac OS.

Спасибо вам за любую помощь :)!

(Это скрипты:

 Called: RunScript.sh, and I need to run it from Python Script.)
  

Ответ №1:

os.system не работает?

 import os
os.system("/path/to/script.sh")
  

Ответ №2:

Предположительно, вы бы использовали модуль подпроцесса.

Вопросы становятся:

  • Собираетесь ли вы получать выходные данные из этого скрипта?
  • Собираетесь ли вы вводить в него входные данные?
  • Нужно ли взаимодействовать с пользователем через терминал (который использует Python)?
  • Нужно ли фиксировать и / или обрабатывать сообщения об ошибках или коды ошибок (возвращаемые значения)?

Комментарии:

1. Привет, Джим, извини, что копался в этой (очень) старой теме. Но здесь у меня есть третий вариант использования в вашем списке. os.system() Открывается ли терминал, на котором запускается скрипт оболочки / bash? subprocess.Popen() Открывает ли окно терминала, чтобы показать, что делает скрипт? потому что мой скрипт (shell / bash) содержит некоторые sudo команды, и пользователи должны иметь возможность вводить свой пароль при запросе. Любая помощь приветствуется 🙂

2. @PSSolanki, открывать терминал из скрипта Python для обработки пароля почти наверняка ужасная идея. sudo предлагает опцию -S ( —stdin ). Итак, вы могли бы использовать модуль Python getpass для запроса и получения пароля, и можете ли вы ввести его в стандартный поток ввода sudo (в отдельной строке) атрибут stdin объекта Popen() (который является объектом, подобным файлу, с использованием подпроцесса. Опция PIPE .)

3. Ценю вклад. Я увидел -S флаг в подсказках pycharm. Я попробую это 🙂