Чтобы ответить на ваш исходный вопрос, чтобы перенаправить вывод, просто передайте дескриптор открытого файла для аргумента stdout
в subprocess.call
:
# Use a list of args instead of a string
input_files = ['file1', 'file2', 'file3']
my_cmd = ['cat'] + input_files
with open('myfile', "w") as outfile:
subprocess.call(my_cmd, stdout=outfile)
. Но, как указывали другие, использование для этой цели внешняя команда, подобная cat
, совершенно посторонняя.