'ValueError' 对象没有属性 '_render_traceback_'

'ValueError' object has no attribute '_render_traceback_'

在使用 dpkt 解析 UDP pcap 文件时,收到以下错误消息:

with open('file.pcap', 'rb') as fopen:
    pcap = dpkt.pcap.Reader(fopen)
for timestamp, buf in pcap:
    print (timestamp)

ERROR:root:Inspect 模块中的内部 Python 错误。 以下是此内部错误的回溯。

回溯(最后一次调用): ValueError:读取已关闭的文件

在处理上述异常的过程中,又发生了一个异常:

回溯(最后一次调用): AttributeError: 'ValueError' 对象没有属性 'render_traceback'

在处理上述异常的过程中,又发生了一个异常:

回溯(最后一次调用): 断言错误

离开with open(...) ...块时文件自动关闭:

with open('file.pcap', 'rb') as fopen:
    # still open here
    pcap = dpkt.pcap.Reader(fopen)
    
# automatically closed here
for timestamp, buf in pcap:
    print (timestamp)

因此,您需要将 pcap 读数放入打开文件的同一块中:

with open('file.pcap', 'rb') as fopen:
    pcap = dpkt.pcap.Reader(fopen)
    for timestamp, buf in pcap:
        print (timestamp)