使用python將十進制數轉爲ip地址

# 引用正則來三等分字符串
import re

# 轉換成二進制數
bi = "{0:b}".format(18223104)
# 補齊32位
bi = "0"*(32-len(bi))+bi
# 8個一組算出每8個數字的十進制,然後再加“,”分隔
ret_ip_string = '.'.join(list(map(lambda x:str(int(x,2)),re.findall(r'.{8}',bi))))
# 打印ip字符串
print(ret_ip_string)

 也可以封裝成函數,便於調用

def int32_to_ip(int32):
    import re
    bi = "{0:b}".format(int32)
    bi = "0" * (32 - len(bi)) + bi

    ret_ip_string = '.'.join(list(map(lambda x: str(int(x, 2)), re.findall(r'.{8}', bi))))
    return ret_ip_string

if __name__ == '__main__':
    ip = int32_to_ip(18223104)
    print(ip)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章