如何将for循环的输出保存到python中的列表?

问题描述 投票:0回答:1
allpkts = []
for i in range(10):
        s[IP].len = i
        del s[IP].chksum
        del s[UDP].chksum
        allpkts.append(s)
print allpkts

allpkts列表中,我仅看到最后一个数字输出。我希望所有包中的所有数据包0到9。

python list loops scapy
1个回答
0
投票

您需要在每次迭代中复制s。否则,您将重复修改同一数据包,而不是将不同的数据包放入列表中。

allpkts = []
for i in range(10):
    stemp = s.copy()
    stempIP].len = i
    del stemp[IP].chksum
    del stemp[UDP].chksum
    allpkts.append(stemp)
print allpkts
© www.soinside.com 2019 - 2024. All rights reserved.