如何使用python获取ip和子网掩码地址[关闭]

问题描述 投票:-4回答:1

如何使用python从计算机(Windows)获取我的IP地址和子网掩码?

python networking ip subnet
1个回答
1
投票

对于第二个问题,你可以这样做:

def int_address(address):
    return list(map(int, address.split(".")))

def bit_len(mask):
    return "".join(bin(m)[2:] for m in mask).find('0')

def prefix(mask, ip):
    return ".".join(str(m & i) for m, i in zip(mask, ip))

def cidr(mask, ip):
    mask = int_address(mask)
    ip = int_address(ip)
    return prefix(mask, ip)+"/"+str(bit_len(mask))

print(cidr("255.255.255.0", "10.0.0.1"))

bit_len有点hacky,我认为可以找到更好的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.