2013-12-18 1 views
1

Я пытаюсь запустить скрипт (first.py), который запускает другой скрипт (second.py).Python: скрипт запускает другой скрипт при перенаправлении stdout

Я знаю, что я могу использовать следующее в first.py:

os.system("second.py inputFile.xml") 

Однако по телефону second.py он генерирует стандартный вывод сообщений. Я не хочу отображать эти сообщения и просто хранить их как список строк для использования в first.py.

Какой у меня был бы first.py?

+0

использование 'subprocess.Popen' (или' subprocess.check_output', если ваш питон> = 2,7) –

+3

Если вы пишете первый сценарий, то почему бы не просто 'import' второго сценария и вызвать требуемый функции напрямую? –

ответ

0
import os 
from cStringIO import StringIO 
import sys 

import second 

old_stdout = sys.stdout # temporarily stores stdout 
sys.stdout = mystdout = StringIO() 

second.func("inputFile.xml") 

 Смежные вопросы

  • Нет связанных вопросов^_^