面试的过程中经常被问到使用过那些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 = ''
hexdigits = digits + 'abcdef' + 'ABCDEF'
octdigits = ''
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 常用的模块的更多相关文章

  1. 第四章:4.0 python常用的模块

    1.模块.包和相关语法 使用模块好处: 最大的好处是大大提高了代码的可维护性.其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们在编写程序的时候,也经常引用其他模块,包括Pyt ...

  2. python 常用第三方模块

    除了内建的模块外,Python还有大量的第三方模块. 基本上,所有的第三方模块都会在https://pypi.python.org/pypi上注册,只要找到对应的模块名字,即可用pip安装. 本章介绍 ...

  3. python常用小模块使用汇总

    在写代码过程中常用到一些好用的小模块,现整理汇总一下: 1.获取当前的文件名和目录名,并添到系统环境变量中. file = os.path.abspath(__file__)             ...

  4. Python 常用系统模块整理

    Python中的常用的系统模块中部分函数等的整理 random: 随机数 sys: 系统相关 os: 系统相关的 subprocess: 执行新的进程 multiprocessing: 进程相关 th ...

  5. Day6 Python常用的模块

    一.logging模块 一.日志级别 critical=50 error=40 waring=30 info=20 debug=10 notset=0 二.默认的日志级别是waring(30),默认的 ...

  6. [转] Python 常用第三方模块 及PIL介绍

    原文地址 除了内建的模块外,Python还有大量的第三方模块. 基本上,所有的第三方模块都会在PyPI - the Python Package Index上注册,只要找到对应的模块名字,即可用pip ...

  7. python常用sys模块

    sys.argv 命令行参数List,第一个元素是程序本身路径 sys.modules.keys() 返回所有已经导入的模块列表 sys.exc_info() 获取当前正在处理的异常类,exc_typ ...

  8. Python#常用的模块和简单用法

    目录 random 随机模块 os 文件夹模块: time 时间模块: matplotlab.pyplot 作图模块 mpl_toolkits.mplot3d 绘制3D图模块 Pygame Reque ...

  9. python 常用的模块(hashlib)转

    摘要算法简介 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串( ...

随机推荐

  1. [原]Universal Windows问题:winapifamily问题:WINAPI_PARTITION_DESKTOP问题:WINAPI_PARTITION_APP问题:WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)问题

    问题回顾: 我新建的生成dll的vs问题: 此vs项目包含需要GL.h 结果此文件声明的GLint找不到! 进去发现#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITI ...

  2. 【转】 VGA时序及其原理

    显示器扫描方式分为逐行扫描和隔行扫描:逐行扫描是扫描从屏幕左上角一点开始,从左向右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信 ...

  3. 超轻量级Json框架SmartObject

    最近我在codeplex上发了一个项目SmartObject(基于framework4.5,目前是1.0版本).用法如下: // HowToUse using Spider.Data; //json ...

  4. 图论++【洛谷p1744】特价采购商品&&【一本通1342】最短路径问题

    (虽然题面不是很一样,但是其实是一个题qwq) [传送门] 算法标签: 利用Floyed的o(n3)算法: (讲白了就是暴算qwq) 从任意一条单边路径开始.所有两点之间的距离是边的权,或者无穷大,如 ...

  5. OpenStack 部署步骤详解(mitaka/ocata/一键部署)

    正文 OpenStack作为一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,开放源代码项目的云计算管理平台项目.具体知识我会在后面文章中做出介绍,本章主要按步骤给大家演示在C ...

  6. Samba服务与Nginx服务

    Samba服务: 1 准备环境 =====>part1: iptables -F 清楚防火墙配置 #systemctl disable firewalld #开机默认关闭 #systemctl ...

  7. Python *Mix_w8

    文件操作的函数 文件可迭代 open(文件名(路径), mode="?", encoding="字符集") f = open("../Python/是 ...

  8. Jmeter的察看结果树 出现乱码的解决方法

    在apache-jmeter-3.0\bin目录下, 用Notepad工具打开jmeter.properties文件 在文件中搜索encoding,可以搜素到1030行: #sampleresult. ...

  9. Javascript获取图片原始宽度和高度的方法详解

    前言 网上关于利用Javascript获取图片原始宽度和高度的方法有很多,本文将再次给大家谈谈这个问题,或许会对一些人能有所帮助. 方法详解 页面中的img元素,想要获取它的原始尺寸,以宽度为例,可能 ...

  10. linux之文件增删改查