当前位置: 主页 > 日志 > Python >

Python字符串IP转整型

判断某个IP是否在允许的区间内时,直接比较字符串是错误的。

比如:

>>> '66.249.72.78' >= '127.0.0.1'

True

正确的做法是先将其转为整型,然后再比较,转换方法如下:

import socket
import struct

def ip2long(ip):
    """
    Convert an IP string to long
    """
    packedIP = socket.inet_aton(ip)
    return struct.unpack("!L", packedIP)[0]

此时:

>>> ip2long('66.249.72.78') >= ip2long('127.0.0.1')

False

参考:http://stackoverflow.com/questions/9590965/convert-an-ip-string-to-a-number-and-vice-versa

[日志信息]

该日志于 2013-08-08 14:47 由 redice 发表在 redice's Blog ,你除了可以发表评论外,还可以转载 “Python字符串IP转整型” 日志到你的网站或博客,但是请保留源地址及作者信息,谢谢!!    (尊重他人劳动,你我共同努力)
   
验证(必填):   点击我更换验证码

redice's Blog  is powered by DedeCms |  Theme by Monkeii.Lee |  网站地图 |  本服务器由西安鲲之鹏网络信息技术有限公司友情提供

返回顶部