美文网首页
python开发中常用辅助函数

python开发中常用辅助函数

作者: 乔治大叔 | 来源:发表于2020-08-05 11:03 被阅读0次

检测邮箱是否合法

def check_email(email):
    import re
    res = re.match(r'^[0-9a-zA-Z\_\-]+(\.[0-9a-zA-Z\_\-]+)*@[0-9a-zA-Z]+(\.[0-9a-zA-Z]+){1,}$', email)
    return True if res else False

检测手机号码是否合法

def check_phone(phone):
    import re
    res = re.match(r'^1[3456789]\d{9}$', phone)
    return True if res else False

判断手机是安卓机还是苹果机或者PC

def check_model(raw):
    import re
    try:
        model = re.search('Android', raw)
        if not model:
            model = re.search('iphone', raw)
        return model.group()
    except :
        return 'PC'

根据ip获取地理位置

def find_ip(ip):
    try:
        from geoip2 import database
        reader = database.Reader('GeoLite2-City.mmdb')
        info = reader.city(ip)
        reader.close()
        return info.country.names['zh-CN']
    except Exception as e:
        print(e)
        return '未知'

检测url是否合法

def check_url(url):
    import re
    res = re.match(r'^[a-zA-Z]+://[^\s]*$', url)
    return True if res else False

获取当前格式化时间

def get_current_time():
    from datetime import datetime
    return datetime.now().strftime('%Y-%m-%d %X')

获取N天前的时间

def getBeforeNdays(N=0):
    from datetime import datetime, timedelta
    return (datetime.now()-timedelta(days=N)).strftime('%Y-%m-%d %X')

获取客户端IP

def get_remote_ip():
    import socket
    ip = socket.gethostbyname(socket.gethostname())
    return ip

获取客户端地理位置

def find_position_by_ip(ip):
    try:
        from geoip2 import database
        reader = database.Reader('GeoLite2-City.mmdb')
        info = reader.city(ip)
        data = {
            'continent': info.continent.names['zh-CN'],
            'country':info.country.names['zh-CN'],
            'city':info.subdivisions[0].names['zh-CN'],
            'latitude':info.location.latitude,
            'longitude':info.location.longitude
        }
        return data
    except Exception as e:
        print(e)
        return '未知'

返回结构化数据

def ajaxReturn(info, data={}):
    import json
    info['data'] = data
    return json.dumps(info)

MD5

def hash_md5(raw):
    import hashlib
    md5 = hashlib.md5()
    md5.update(raw.encode())
    return md5.hexdigest()

相关文章

网友评论

      本文标题:python开发中常用辅助函数

      本文链接:https://www.haomeiwen.com/subject/avknrktx.html