Я использую python 3.5, и subprocess.call (['./ test.sh']) не работает для меня.
Я даю вам три решения, зависит от того, что вы хотите сделать с выходом.
1 - скрипт вызова. Вы увидите вывод в вашем терминале. выходной это число.
import subprocess
output = subprocess.call(['test.sh'])
2 - вызов и сброс дампа и ошибка в строку. Вы не увидите выполнение в своем терминале, если не печатаете (stdout). Shell = True, поскольку аргумент в Popen не работает для меня.
import subprocess
from subprocess import Popen, PIPE
session = subprocess.Popen(['test.sh'], stdout=PIPE, stderr=PIPE)
stdout, stderr = session.communicate()
if stderr:
raise Exception("Error "+str(stderr))
3 - вызвать скрипт и вывести команды echo файла temp.txt в файл temp_file
import subprocess
temp_file = open("temp.txt",'w')
subprocess.call([executable], stdout=temp_file)
with open("temp.txt",'r') as file:
output = file.read()
print(output)
Не забудьте взглянуть на подпроцесс doc