У меня проблемы с питоном. Я пытаюсь получить вывод из запущенного скрипта и использовать его в другом скрипте. Итак, я хочу сделать что-то вроде этого;
Предположим, out.py
и in.py
, как эти;
# out.py
def main():
while True:
print "test"
time.sleep(10)
main()
# in.py
text = sys.stdin.readline()
print "hello " + text
Я хочу запустить такие скрипты,
$ python out.py | python in.py
но, это зависает и ничего не печатает вместо того, чтобы печатать "привет тест" каждые 10 секунд Исходя из этого, я предполагаю, что |
ждет, пока out.py
не завершится. Хорошо, а что если я захочу использовать in.py с демоном?
Моя настоящая проблема: Я пытаюсь получить вывод из arpwatch . arpwatch работает как демон и отправляет пары ip / mac на stderr. Я хочу получить этот вывод и разобрать его; Итак, мне нужно что-то вроде этого;
$ arpwatch | python myscript.py
чтобы добиться этого, как мне кодировать myscript.py
? Я пытался использовать модуль подпроцесса , , но у меня снова не было успеха. Я надеюсь, что смогу четко объяснить свою проблему, так как мой английский неплохой.
Спасибо за любую помощь.