Я пишу приложение, которое требует использования стороннего сценария оболочки.
Этот сценарий оболочки some-script
обрабатывает входной файл --ifile
и сохраняет результаты в выходной файл --ofile
.
Так что в настоящее время я могу писать / читать в файл tmp и впоследствии удалять их
import os
ifile_name = '/tmp/ifile.txt'
ofile_name = '/tmp/ofile.txt'
with open(ifile_name, 'w') as f:
# write data to ifile for 'some-script'
# format command
command = 'some-script --ifile {ifile} --ofile {ofile}'.format(
ifile=ifile_name,
ofile=ofile_name
)
os.system(command)
with open(ofile_name, 'r') as f:
# read in data from ofile
# clean up and delete tmp files
Есть ли способ, которым я могу напрямую передавать данные Python в --ifile
(например, '\n'.join(arr)
)и есть ли результат потока --ofile
как обратно в сценарии без чтения / записи из файлов?и просто разбор строки?