Python常用模块

Posted brf-test

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 = ‘ \\t\\n\\r\\v\\f‘  
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

以上是关于Python常用模块的主要内容,如果未能解决你的问题,请参考以下文章

python中常用的模块1

Python常用模块

Python 常用模块

python 模块——常用模块

python常用模块

Python常用模块-时间模块