В интерпретаторе IDLE я делаю следующее с dpkt:
for ts, buf in pcap:
eth = dpkt.ethernet.Ethernet(buf)
Теперь, когда я пытаюсь увидеть содержимое 'eth', я могу либо напечатать его, либо просто написать имя переменной.
Когда я делаю:
print eth
Я получаю:
O&áÿE(r @,òÀ¨
DYP?Jò}PªpÉ
Однако, когда я просто пишу:
eth
Я получаю более ожидаемый результат:
Ethernet(src='<removed>', dst='<removed>', data=IP(src='<removed>', off=16384, dst='<removed>', sum=11506, len=40, p=6, ttl=128, id=29344, data=TCP(seq=2527752393, ack=218580057, win=16202, sum=62077, flags=16, dport=80, sport=51626)))
Итак, мой вопрос: в чем принципиальная разница между «печатью (переменной)» и просто записью имени переменной? Если я сделаю простое задание (т. Е. «X = 100»), я получу результат «100» для обоих «print x» и «x»