zoukankan      html  css  js  c++  java
  • python 常用的模块

    面试的过程中经常被问到使用过那些python模块,然后我大脑就出现了一片空白各种模块一顿说,其实一点顺序也没有然后给面试官造成的印象就是自己是否真实的用到这些模块,所以总结下自己实际工作中常用的模块;

    • 时间模块
    time
    datatime

      时间模块常用的方法

    1.获取时间戳
    import time
    time.time()
    2.获取当前日期
    from datetime import datetime
    datetime.now()
    3.获取昨天、明天的日期(获取上个月和下个月同理)
    from datetime import date, timedelta
    today = date.today() 
    oneday = timedelta(days=1) # 获取时间间隔 
    yesterday = today - oneday # 获取昨天-1 ,明天 +1
    • 数据库交互模块
    pymysql   # 连接MySQL数据库
    pymongo   # 连接mongo数据库,详细的方法详见http://www.cnblogs.com/mengyu/p/7725396.html
    redis     # 连接redis数据库
    • 加密
    hashlib  # 提供常用的加密算法md5, sha1, sha224, sha256, sha384, sha512

      md5加密例子(sha1,sha224,sha256 ,sha384 ,sha512 加密一样这里就不举例)

    from hashlib import md5
    
    m1 = md5()  # 构造hash对象
    m1.update("Hello World!".encode())  
    print(m1.hexdigest()[8:-8])  # 16位 小写
    m2 = md5("Hello World!".encode())  # 该方法与上述方法效果相同
    print(m2.hexdigest())  # 32位小写
    • 生成随机数
    random

      生成随机例子

    1.生成随机整数
        random.randint(1, 10)   # 生成1~10 范围内的随机整数,包含1和10
    2.随机生成浮点数
        random.random()
        random.uniform(0, 7)   # 在指定的范围内生成随机数
    3.从序列中获取元素
        random.choice([1,3,8,9])   # 从序列中获取一个随机元素,参数sequence表示一个有序类型,泛指list,tuple,字符串等
    4.随机生成字符串
        ranString = "".join(random.sample(string.ascii_letters + string.digits, 8))   # 生成8位长度的字符串,这里利用到了string模块
    • 生成字符串
    string

      查看下常用的方法,发现每个字符串的含义

    whitespace = ' 	
    
    vf'  
    ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz'
    ascii_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    ascii_letters = ascii_lowercase + ascii_uppercase
    digits = '0123456789'
    hexdigits = digits + 'abcdef' + 'ABCDEF'
    octdigits = '01234567'
    punctuation = """!"#$%&'()*+,-./:;<=>?@[]^_`{|}~"""
    printable = digits + ascii_letters + punctuation + whitespace
    • 系统模块
    os
    sys
    • http请求模块
    requests # Python3.x http请求模块
    urlib    # Python2.x 常用http请求模块

       urllib 常用方法

    1.解析url
    >>> url = "https://api.shouqiev.com/order/parkingConfirmPage.json?cityCode=010"  # Gofun出行
    >>> parse.urlparse(url)  # 解析url
     ParseResult(scheme='https', netloc='api.shouqiev.com', path='/order/parkingConfirmPage.json', params='', query='cityCode=010', fragment='')
    
    2.编码和解码
    >> parse.quote('a c')   # 编码  
    a%20c
    >>>prase.unquote('a%20c')
    a c
    3.把key-value格式转换k1=v1&k2=v2格式
    >>>FormData = {"from": '2018-07-18 16:00:00', "to": '2018-07-18 18:00:00', "page": 1, "size": 1}
    >>>parse.urlencode(FormData)
    'to=2018-07-18+18%3A00%3A00&page=1&size=1&from=2018-07-18+16%3A00%3A00
    • 处理json模块
    json   # 主要的作用是字典和字符串之间的转换
    >>> FormData = {"from": '2018-07-18 16:00:00', "to": '2018-07-18 18:00:00', "page": 1, "size": 1}
    >>> type(FormData)
    <class 'dict'>
    >>> import json
    >>> json.dumps(FormData)
    '{"size": 1, "from": "2018-07-18 16:00:00", "page": 1, "to": "2018-07-18 18:00:00"}'
    >>> jsonFormData = json.dumps(FormData)   # 字典转换成为字符串
    >>> type(jsonFormData)
    <class 'str'>
    >>> json.loads(jsonFormData)
    {'to': '2018-07-18 18:00:00', 'from': '2018-07-18 16:00:00', 'size': 1, 'page': 1}
    >>> FormData = json.loads(jsonFormData)  # 字符串转换为字典
    >>> type(FormData)
    <class 'dict'>
    • 读取文件模块
    xml  # 解析XML文件
    xlrd  # 读写excel
    configparser  # 解析ini 配置文件
    • 日志模块
    logging
    • 正则模块
    re

    re模块的详细方法可以阅读python 正则表达式,这篇文件介绍了Python正则表达式的使用

    • 爬虫经常使用的模块
    BeautifulSoup
    xmltodict    # xml转dict
    lxml
    pyquery      # 网页解析库,语法和jquery非常像。
    • 数据处理模块
    pandas
  • 相关阅读:
    POJ 3268 Silver Cow Party (Dijkstra)
    怒学三算法 POJ 2387 Til the Cows Come Home (Bellman_Ford || Dijkstra || SPFA)
    CF Amr and Music (贪心)
    CF Amr and Pins (数学)
    POJ 3253 Fence Repair (贪心)
    POJ 3069 Saruman's Army(贪心)
    POJ 3617 Best Cow Line (贪心)
    CF Anya and Ghosts (贪心)
    CF Fox And Names (拓扑排序)
    mysql8.0的新特性
  • 原文地址:https://www.cnblogs.com/mengyu/p/9402751.html
Copyright © 2011-2022 走看看