Python 关闭rdpcap功能-Scapy

Python 关闭rdpcap功能-Scapy,python,pcap,scapy,packet-capture,Python,Pcap,Scapy,Packet Capture,我有一个脚本,可以循环使用许多pcap文件。对于每个pcap文件,我需要读取它,然后将一些信息写入txt文件。我正在使用Scapy的rdcap函数。在我读完pcap文件后,是否仍有关闭它的方法?我的脚本有内存泄漏,我担心这可能是罪魁祸首(通过让许多pcap文件基本打开)检查Scapy的发现rdpcap函数忽略了关闭pcap文件: @conf.commands.register def rdpcap(文件名,计数=-1): “”“读取pcap文件并返回数据包列表 计数:只读数据包“” 返回Pcap

我有一个脚本,可以循环使用许多pcap文件。对于每个pcap文件,我需要读取它,然后将一些信息写入txt文件。我正在使用Scapy的
rdcap
函数。在我读完pcap文件后,是否仍有关闭它的方法?我的脚本有内存泄漏,我担心这可能是罪魁祸首(通过让许多pcap文件基本打开)

检查Scapy的发现
rdpcap
函数忽略了关闭pcap文件:

@conf.commands.register
def rdpcap(文件名,计数=-1):
“”“读取pcap文件并返回数据包列表
计数:只读数据包“”
返回PcapReader(文件名)。全部读取(计数=计数)
我建议您实现自己版本的此功能,如下所示:

def rdpcap_and_close(filename, count=-1):
    """Read a pcap file, return a packet list and close the file
count: read only <count> packets"""
    pcap_reader = PcapReader(filename)
    packets = pcap_reader.read_all(count=count)
    pcap_reader.close()
    return packets
def rdpcap_和_close(文件名,计数=-1):
“”“读取pcap文件,返回数据包列表并关闭该文件
计数:只读数据包“”
pcap_reader=PcapReader(文件名)
数据包=pcap\U读卡器。全部读取(计数=计数)
pcap_读卡器关闭()
返回数据包

我为这个问题创建了一个问题

编辑:问题已在中解决

def rdpcap_and_close(filename, count=-1):
    """Read a pcap file, return a packet list and close the file
count: read only <count> packets"""
    pcap_reader = PcapReader(filename)
    packets = pcap_reader.read_all(count=count)
    pcap_reader.close()
    return packets