Как перенаправить stdout в файл при использовании subprocess.call в python? Я вызываю python script (B) из другого python script (A). Использование subprocess.call, как мне перенаправить stdout из B в файл, который указывает? Я использую python 2.6.1. Ответ 1 Передайте файл как параметр stdout в subprocess.call: with open('out-file.txt', 'w') as f: subprocess.call(['program'], stdout=f) Ответ 2 Альтернативный подход 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
Ответ 1 Передайте файл как параметр stdout в subprocess.call: with open('out-file.txt', 'w') as f: subprocess.call(['program'], stdout=f)
Ответ 2 Альтернативный подход 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