Если вы имеете в виду перенаправление ввода и вывода, то смотрите здесь (вход) и здесь (выход) соответственно. В частности, похоже, что для «перенаправления» стандартного ввода необходимо передать в качестве аргумента фактические байты (например, прочитать их заранее), в частности, следующее должно работать в соответствии с их документацией (не проверено, так как у меня нет / работа с sh- пожалуйста, дайте знать, если это работает для вас / исправьте все, что отсутствует):
import sh
python3 = sh.Command("python3")
with open(input_file_a, 'r') as ifile:
python3("program_b.py", _in=ifile.read(), _out=output_file_b)
Обратите внимание, что может потребоваться указать аргумент search_paths
для sh.Command для его поиска python. Также может потребоваться указать полный путь к файлу program_b.py
или os.chdir()
соответственно.