Python3: чтение системы захвата ОС из / запись в файл - PullRequest
0 голосов
/ 13 марта 2019

Я пишу приложение, которое требует использования стороннего сценария оболочки.

Этот сценарий оболочки 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 как обратно в сценарии без чтения / записи из файлов?и просто разбор строки?

1 Ответ

0 голосов
/ 13 марта 2019

Сценарий вернет свой вывод в stdout, а скрипт py прочитает его через PIPE

with Popen(["your_script_here"], stdout=PIPE) as proc:
    log.write(proc.stdout.read())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...