py常用标准库

functools

python3中增加了更多工具函数,做业务开发时大多情况下用不到,记录一个比较常用的,给函数或者对象初始化参数

partial函数(偏函数)

把一个函数的某些参数设置默认值,返回一个新的函数,调用这个新函数会更简单。

复制代码
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
#  @Time: 2020/6/29 7:48
#  @Author:zhangmingda
#  @File: partial_study.py
#  @Software: PyCharm
#  Description:把一个函数的某些参数设置默认值,返回一个新的函数,调用这个新函数会更简单。

import functools

def showarg(*args,**kwargs):
    print('args:',args)
    print('kwargs:',kwargs)

p1 = functools.partial(showarg,123,456)
p1()
p1(4,5,6)
p1(a='123',b='234',c='I Love You!')
复制代码

输出如下

 

args: (123, 456)
kwargs: {}
args: (123, 456, 4, 5, 6)
kwargs: {}
args: (123, 456)
kwargs: {'a': '123', 'b': '234', 'c': 'I Love You!'}

 

 

模块进阶

Python有一套很有用的标准库(standard library)。标准库会随着Python解释器,一起安装在你的电脑中的。 它是Python的一个组成部分。这些标准库是Python为你准备好的利器,可以让编程事半功倍。

常用标准库

标准库说明
builtins 内建函数默认加载
os 操作系统接口
sys Python自身的运行环境
functools 常用的工具
json 编码和解码 JSON 对象
logging 记录日志,调试
multiprocessing 多进程
threading 多线程
copy 拷贝
time 时间
datetime 日期和时间
calendar 日历
hashlib 加密算法
random 生成随机数
re 字符串正则匹配
socket 标准的 BSD Sockets API
shutil 文件和目录管理
glob 基于文件通配符搜索

hashlib

import hashlib
m = hashlib.md5()   #创建hash对象,md5:(message-Digest Algorithm 5)消息摘要算法,得出一个128位的密文
print m             #<md5 HASH object>
m.update('itcast')  #更新哈希对象以字符串参数
print m.hexdigest() #返回十六进制数字字符串

 

应用实例

用于注册、登录....

复制代码
import hashlib
import datetime
KEY_VALUE = 'Itcast'
now = datetime.datetime.now()
m = hashlib.md5()
str = '%s%s' % (KEY_VALUE,now.strftime("%Y%m%d"))
m.update(str.encode('utf-8'))
value = m.hexdigest()
print(value)
复制代码
str == 'Itcast20200628' 时

运行结果:

'7c72019a6fe40c81a15e50d9cd2adc6b'

 

更多标准库

http://python.usyiyi.cn/translate/python_352/library/index.html

常用扩展库

扩展库说明
requests 使用的是 urllib3,继承了urllib2的所有特性
urllib 基于http的高层库
scrapy 爬虫
beautifulsoup4 HTML/XML的解析器
celery 分布式任务调度模块
redis 缓存
Pillow(PIL) 图像处理
xlsxwriter 仅写excle功能,支持xlsx
xlwt 仅写excle功能,支持xls ,2013或更早版office
xlrd 仅读excle功能
elasticsearch 全文搜索引擎
pymysql 数据库连接库
mongoengine/pymongo mongodbpython接口
matplotlib 画图
numpy/scipy 科学计算
django/tornado/flask web框架
xmltodict xml 转 dict
SimpleHTTPServer 简单地HTTP Server,不使用Web框架
gevent 基于协程的Python网络库
fabric 系统管理
pandas 数据处理库
scikit-learn 机器学习库

就可以运行起来静态服务。平时用它预览和下载文件太方便了。

在终端中输入命令:

python2中

    python -m SimpleHTTPServer PORT

python3中 临时的http web服务器,可以用来下载文件,可以将执行命令的目录下面文件都展示出来

python -m http.server PORT

 例如

(venv) D:\项目\tornado1\test>python -m http.server 80
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...

 

 

读写excel文件

1.安装个easy_install工具

sudo apt-get install python-setuptools

 

2.安装模块

    sudo easy_install xlrd
    sudo easy_install xlwt

 

matplotlib

 

 

posted on   zhangmingda  阅读(441)  评论(0编辑  收藏  举报

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2018-06-28 多线程多进程学习threading,queue线程安全队列,线程间数据状态读取。threading.local() threading.RLock()
2018-06-28 Paramiko模块学习
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示