Чтобы перенаправить выходные данные подпроцесса Python в файл, вы можете использовать несколько методов. Вот несколько примеров:
Метод 1: использование перенаправления оболочки
import subprocess
with open('output.txt', 'w') as f:
subprocess.run(['python', 'script.py'], stdout=f)
Метод 2: использование параметра stdoutsubprocess.Popen
import subprocess
with open('output.txt', 'w') as f:
subprocess.Popen(['python', 'script.py'], stdout=f)
Метод 3: использование метода subprocess.PIPEи communicate()
import subprocess
with open('output.txt', 'w') as f:
process = subprocess.Popen(['python', 'script.py'], stdout=subprocess.PIPE)
output, _ = process.communicate()
f.write(output.decode())
Метод 4. Использование параметра shell=True
import subprocess
with open('output.txt', 'w') as f:
subprocess.run('python script.py > output.txt', shell=True)
Обратите внимание, что в этих примерах предполагается, что вы хотите перенаправить стандартный вывод подпроцесса в файл. Если вы хотите перенаправить стандартную ошибку или стандартный вывод и ошибку, вы можете соответствующим образом изменить примеры.