как выполнить bash скрипт из python3 и сохранить результат в файл

Нужно выполнить bush скрипт из python3 как сторонний процесс и сохранить результат в файл (успешный он или ошибочный). Я пытаюсь сделать это так:

run_subprocess = subprocess.Popen(
['bash ' + '/home/user/script'],
cwd = '/home/user/case',
shell = True,
stdout='/home/user/out',
stderr='/home/user/err')

После запуска выходит ошибка:

AttributeError: 'str' object has no attribute 'fileno'

Что не так? Есть ли альтернативный способ решить данную задачу?


Ответы (2 шт):

Автор решения: snakeCascade

Вроде как всё легко настраивается через простой os.system(). Попробуй это:

import os
os.system("bash test.sh > output 2> errors &")
→ Ссылка
Автор решения: Vlad Anoxun

Попробуй через subprocess.check_output. Получаешь результат в переменной, а потом записываешь в файл.

subprocess.check_output(args, *, input=None, stdin=None, stderr=None, shell=False, universal_newlines=False, timeout=None) - выполняет команду и возвращает её вывод.

Источник

→ Ссылка