代码如下:
#===============================================================#
# 根据输入起始结束IP地址,生成IP地址段 #
#===============================================================#
def create_ip(start_ip,end_ip,f_name):
s_ip=start_ip.split('.')
s1=int(s_ip[0])
s2=int(s_ip[1])
s3=int(s_ip[2])
s4=int(s_ip[3])
e_ip=end_ip.split('.')
e1=int(e_ip[0])
e2=int(e_ip[1])
e3=int(e_ip[2])
e4=int(e_ip[3])
f = open("{}.txt".format(f_name),"a") #a为追加模式,不会覆盖掉原来的内容
if s1==e1:
if s2==e2:
if s3==e3:
if s4==e4:
print('起始值与结束值一致:')
print(str(s1)+'.'+str(s2)+'.'+str(s3)+'.'+str(s4),file=f)
if s4<e4:
if s3==e3:
for i in range(s4,e4+1):
print(str(s1)+'.'+str(s2)+'.'+str(s3)+'.'+str(i),file=f)
if s3<e3:
for i in range(s4,255+1):
print(str(s1)+'.'+str(s2)+'.'+str(s3)+'.'+str(i),file=f)
s3=s3+1
while s3<e3:
for i in range(0,255+1):
print(str(s1)+'.'+str(s2)+'.'+str(s3)+'.'+str(i),file=f)
s3+=1
for i in range(0,e4+1):
print(str(s1)+'.'+str(s2)+'.'+str(s3)+'.'+str(i),file=f)
if s2<e2:
while s3<255:
for i in range(s4,255+1):
print(str(s1)+'.'+str(s2)+'.'+str(s3)+'.'+str(i),file=f)
s3=s3+1
for i in range(0,255+1):
print(str(s1)+'.'+str(s2)+'.'+str(s3)+'.'+str(i),file=f)
s2=s2+1
s3=0
while s2<e2:
for ii in range (0,255+1):
for i in range(0,255+1):
print(str(s1)+'.'+str(s2)+'.'+str(ii)+'.'+str(i),file=f)
s2+=1
#s3=0
while s3<e3:
for i in range(0,255+1):
print(str(s1)+'.'+str(s2)+'.'+str(s3)+'.'+str(i),file=f)
s3=s3+1
for i in range(0,e4+1):
print(str(s1)+'.'+str(s2)+'.'+str(s3)+'.'+str(i),file=f)
if s1<e1:
while s2<255:
for i in range(s4,255+1):
print(str(s1)+'.'+str(s2)+'.'+str(s3)+'.'+str(i),file=f)
s3=s3+1
for ii in range(s3,255+1):
for i in range(0,255+1):
print(str(s1)+'.'+str(s2)+'.'+str(ii)+'.'+str(i),file=f)
s2=s2+1
for ii in range(0,255+1):
for i in range(0,255+1):
print(str(s1)+'.'+str(s2)+'.'+str(ii)+'.'+str(i),file=f)
s1=s1+1
s2=0
while s1<e1:
for iii in range(0,255+1):
for ii in range(0,255+1):
for i in range(0,255+1):
print(str(s1)+'.'+str(iii)+'.'+str(ii)+'.'+str(i),file=f)
s1=s1+1
#此时s1==e1
while s2<e2:
#s3
for ii in range(0,255+1):
#s4
for i in range(0,255+1):
print(str(s1)+'.'+str(s2)+'.'+str(ii)+'.'+str(i),file=f)
s2=s2+1
#此时s1==e1,s2==e2
s3=0
while s3<e3:
for i in range(0,255+1):
print(str(s1)+'.'+str(s2)+'.'+str(s3)+'.'+str(i),file=f)
s3=s3+1
#此时s1==e1,s2==e2,s3==e3
for i in range(0,e4+1):
print(str(s1)+'.'+str(s2)+'.'+str(s3)+'.'+str(i),file=f)
f.close()
if __name__ == '__main__':
start = input('请输入起始IP地址:')
end = input('请输入结束IP地址:')
f_name = input('请输入生成IP数据保存的文件名:')
create_ip(start,end,f_name)
执行
在.py文件同目录下生成一个t.txt文件