我想将从十进制格式 (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 新手。任何帮助将不胜感激。
干杯。
''.join([ bin(int(x))[2:].rjust(8,'0') for x in '123.123.123.123'.split('.')])
Run Code Online (Sandbox Code Playgroud)