Это можно сделать, добавив sys.stdout
к объекту, подобному файлу (например, StringIO
):
#!/usr/bin/env python
from scapy.all import traceroute
from StringIO import StringIO
import sys
stdout = StringIO()
sys.stdout = stdout
result, unanswered = traceroute('www.google.com')
sys.stdout = sys.__stdout__
print 'Captured stdout:', stdout.getvalue()
В любом случае, обратите внимание, что необходимая информация, вероятно, уже содержится в объектах, возвращаемых методом traceroute
:
print result.summary()
print unanswered.summary()
Примечание. Дополнительную информацию о исправлении стандартного вывода можно найти в ответах на этот вопрос .