直接上代码:
<pre name="code" class="python"># _*_ coding: utf-8 _*_
__author__ = 'Hondsam Xu <hondsam@hotmail.com>'
import socket,struct
'''
转换为子网地址,并检验和输出正确的子网地址
192.168.2.1 -> 192.168.2.1/255.255.255.255
192.168.2.1/24 -> 192.168.2.0/255.255.255.0
192.168.2.1/255.255.255.0 -> 192.168.2.0/255.255.255.0
'''
def format_subnet(subnet_input):
# 如果输入的ip,将掩码加上后输出
if subnet_input.find("/") == -1:
return subnet_input + "/255.255.255.255"
else:
# 如果输入的是短掩码,则转换为长掩码
subnet = subnet_input.split("/")
if len(subnet[1]) < 3:
mask_num = int(subnet[1])
last_mask_num = mask_num % 8
last_mask_str = ""
for i in r