Python教程

python:生成指定范围内的所有ip

本文主要是介绍python:生成指定范围内的所有ip,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

生成指定范围内的所有ip

#codint:utf8
def get_side(pos, now):
    global begin, end
    global first, last                             #
    find_side = lambda begin, end, pos, fisrt, last, now: \
        (pos == first[now] and begin[now + 1] or 1, pos == last[now] and end[now + 1] or 255)
    first[now + 1], last[now + 1] = find_side(begin, end, pos, first, last, now)
    # print first
    return range(first[now + 1], last[now + 1] + 1)
 
 
def gen_ip(ip):     
    global begin, end
    global first, last
    sides = ip.split('-')
    begin = map(lambda x: int(x), sides[0].split('.'))
    end = map(lambda x: int(x), sides[1].split('.'))
    first[0] = begin[0]
    last[0] = end[0]
    ip_str = []   
 
    for pos_one in range(begin[0], end[0] + 1):
        for pos_two in get_side(pos_one, 0):
            for pos_three in get_side(pos_two, 1):
                for pos_four in get_side(pos_three, 2):
                    str = "%d.%d.%d.%d" % (pos_one, pos_two, pos_three, pos_four)
                    ip_str.append(str)
 
    return ip_str
if __name__ == '__main__':
    global begin, end
    global first, last, ips
    first = ["", "", "", ""]
    last = ["", "", "", ""]
    ips = gen_ip("120.76.0.0-120.79.255.255")
    print ips
View Code

 

 

生成指定范围内的IP段

#!/usr/local/bin/python
#-*- coding: UTF-8 -*-
#############################################################
# python 生成IP段
#############################################################
if __name__ == '__main__':
  result=file('test.txt','w')
  for IP1 in range(254,0,-1):
    for IP2 in range(254,0,-1):
      #for IP3 in range(254,0,-1):
        #for IP4 in range(254,0,-1):
          #print IP1,IP2
        abc= '%s.%s.%s-%s.%s.%s\n' % (IP1,IP2,"1.1",
                    IP1,IP2,"255.255")
        result.write(abc)
  result.close()
View Code

 

这篇关于python:生成指定范围内的所有ip的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!