如何在文本文件的不同行中写入每个IP地址?

时间:2017-03-05 05:16:55

标签: python python-2.7 python-3.x

from scapy.all import *


pkts = rdpcap("lalalao.pcap")

for p in pkts:
##  print p.time


        if IP in p: #if packet has IP layer
                    src_ip = p[IP].src
                    dest_ip = p[IP].dst
                    print src_ip

                    f = open('IP_src.txt', 'a+')
                    for ip in src_ip:
                            f.writelines(ip)

                    f.close()

如何在文本文件的不同行中写入每个ip?代码无效!

1 个答案:

答案 0 :(得分:4)

writelines不会添加换行符。

  

将一个行列表写入流中。 行分隔符   没有添加,所以提供的每一行通常都有   最后的行分隔符。

使用{3.}}(Python 3.x中的print statement)在字符串末尾写下换行符:

let params = {
  a: 100,
  b: 'has spaces',
  c: [1, 2, 3],
  d: { x: 9, y: 8}
}

serializeQuery(params)
// returns 'a=100&b=has%20spaces&c[]=1&c[]=2&c[]=3&d[x]=9&d[y]=8

或手动附加该行:

with open('IP_src.txt', 'a+') as f:
    for ip in src_ip:
        print >>f, ip         # Python 2.x
        # print(ip, file=f)   # Python 3.x