使用 Python 进行 IP 地址转换

liv*_*hak 1 python

我想将从十进制格式 (192.168.65.72) 文件中读取的 ip 地址转换为二进制格式 {110000001010100001000001010001000}。我正在从文件中读取十进制格式的 ip 地址。找到下面的代码片段。

/*contains 192.168.65.72*/
filter = open("filter.txt", "r")

for line in filter:
    bytePattern = "([01]?\d\d?|2[0-4]\d|25[0-5])"
    regObj = re.compile("\.".join([bytePattern]*4))
    for match in regObj.finditer(line):
        m1,m2,m3,m4 = match.groups()
        print "%s %s %s %s" %(m1, m2, m3, m4)
Run Code Online (Sandbox Code Playgroud)

我想将 m1、m2、m3 和 m4 分别转换为 8 位二进制值。我想不出一种方法来做到这一点。我是 python 新手。任何帮助将不胜感激。

干杯。

Pra*_*are 5

''.join([ bin(int(x))[2:].rjust(8,'0') for x in '123.123.123.123'.split('.')])
Run Code Online (Sandbox Code Playgroud)

  • `''.join([bin(256 + int(x))[3:] for x in '123.123.123.123'.split('.')])` (3认同)