如何在写入文件时分离ip

时间:2013-12-16 21:41:02

标签: python

好的,这是我的最后一招。我打算编写一个Python脚本,在给定范围时会生成ip地址。我决定搜索互联网,看看其他人是否已经这样做了。我在这里找到了一个脚本http://cmikavac.net/2011/09/11/how-to-generate-an-ip-range-list-in-python/。我试图将它生成的ip写入文件。我似乎无法将它们分开,而是将它们整合在一起。任何比我聪明的人都知道这一点大声笑。

def ipRange(start_ip, end_ip):
   start = list(map(int, start_ip.split(".")))
   end = list(map(int, end_ip.split(".")))
   ip_range = []

   ip_range.append(start_ip)
   while start != end:
      start[3] += 1
      for i in (3, 2, 1):
         if start[i] == 256:
            start[i] = 0
            start[i-1] += 1
      ip_range.append(".".join(map(str, start)))    

   return ip_range


# Range here
ip_range = ipRange("192.168.1.0", "192.171.3.25")
f = open('iplist', 'w')
for ip in ip_range:
   f.write(ip)
   f.close

1 个答案:

答案 0 :(得分:5)

您需要自己添加换行符:

with open('iplist', 'w') as f:
    for ip in ip_range:
       f.write(ip + '\n')

我还改变了打开文件的方式以使用with语句;这会在for循环退出时自动关闭文件。