Ответ 1
Передайте файл как параметр stdout
в subprocess.call
:
with open('out-file.txt', 'w') as f:
subprocess.call(['program'], stdout=f)
Я вызываю python script (B) из другого python script (A).
Использование subprocess.call, как мне перенаправить stdout из B в файл, который указывает?
Я использую python 2.6.1.
Передайте файл как параметр stdout
в subprocess.call
:
with open('out-file.txt', 'w') as f:
subprocess.call(['program'], stdout=f)
Альтернативный подход
import subprocess
p=subprocess.Popen('lsblk -l|tee a.txt',stdout=subprocess.PIPE,shell=True)
(output,err)=p.communicate()
p_status=p.wait()
print output
Выше кода будет записывать вывод команды в файл a.txt