导图社区 Python模块库
不会python?看看这份python相关库的知识点总结吧!下图包括了python的概念、使用库技巧函数、datetime库、math库、os库和random库等要点内容,希望本图能够对你有所帮助!
编辑于2021-05-27 08:50:23Python
配置
pip
Window
%HOMEPATH%\pip\pip.ini
[global]index-url = https://pypi.tuna.tsinghua.edu.cn/simple[install]trusted-host = pypi.tuna.tsinghua.edu.cn
Linux
~/.pip/pip.conf
[global][global]index-url = https://pypi.tuna.tsinghua.edu.cn/simple[install]trusted-host = pypi.tuna.tsinghua.edu.cn
模块库
IPython
一种交互式计算和开发环境
wordcloud
python非常优秀的词云展示第三方库。词云以词语为基本单位更加直观和艺术的展示文本
snownlp
是一个python写的类库,可以方便的处理中文文本内容
算法
字符串处理
re
正则表达式
chardet
任意一段文本的字符集编码
数学类
math
数学函数
random
随机数
fractions
有理数/分数相关运算
安全类
haslib
哈希算法:MD5 SHA1-512
PyCrypto
加密算法 DES,RSA,MD5等
pyOpenSSL
跨编程语言
C/C++
ctypes
调用C/C++动态库
SWIG
Cython
Python代码编译为本地动态库(机器码)
JVM
Jython
python代码运行在JVM上
dotNet
IronPython
python代码运行在dotNet上,如(C#, F#)
Objective-C
PyObjC
用python封装Mac OS X上的Objective-C库
操作系统
os
操作系统信息
文件和目录操作
shutil
文件和目录操作
glob
用于查找文件(支持通配符)
fnmatch
用于匹配文件名(支持通配符)
tempfile
安全的生成临时文件或临时目录
本地进程间通信(IPC)
subprocess/multiprocessing
标准输入输出跟子进程交互
signal
进程信号处理的标准库
mmap
提供内存映射文件的支持
子主题
Windwos系统相关
PyWin32
Windows API及COM API
Liunx/Unix系统相关
syslog
日志
程序打包
PyInstaller
可以把python代码制作成独立运行的程序(不依赖python环境),支持常见系统(linux,windows,mac os x)
py2exe
类似PyInstaller,只支持windows
py2app
类似PyInstaller,只支持Mac OS X平台
EasyInstall/Setuptools
第三方库管理
Web开发
HTTP协议
httplib / httplib2 / http.request / urllib.parse
Web Server
SimpleHTTPServer / http.server
Web 开发框架
Django
TurboGears
Tornado
Flask
scrapy
引擎的两种请求
# 1、url: # (爬虫)yield scrapy.Request -> 引擎 -> 调度器(发送给调度器入队) -> 引擎(调度器出队请求于引擎) # -> 下载器(引擎发送于下载器) -> 引擎(下载器成功(失败)返回引擎):-> 爬虫(引擎接收成功将给爬虫response)or -> 调度器(失败给调度器重新下载) # -> 引擎(爬虫接收response并做处理,发送跟进url:yield scrapy.Request) -> 调度器(引擎发送给调度器入队) ->... # 2、weiboitem: # 一般在接收response后便有了数据,然后 # (爬虫) yield weiboitem -> 引擎 -> pipelines(管道)进行存储,管道中自己写存储代码 -> mysql or redis
子主题
构建crapy框架
创建爬虫项目(cmd或terminal):scrapy startproject 项目名称
cd:cd 项目名称 创建爬虫:scrapy genspider 项目名称 url
修改settings协议:
ROBOTSTXT_OBEY = False切记在settings中ITEM_PIPELINES列表添加语句,否则管道不会被执行:‘项目名称.pipelines.数据管道’: 300,
在items.py中初始化item字典
在pipelines.py中保存数据
Web前端 / JS整合
Pyjamas / pyjs
从 GWT(Google Web Toolkit)移植的第三方库。提供了 Python 到 JS 的编译,AJAX 框架等功能。 Pyjamas 甚至能用来开发桌面 GUI 应用
pyjaco
Python 到 JavaScript 的编译工具
浏览器整合
webbrowser
操纵当前系统的默认浏览器,访问指定 URL 的页面
pyv8
v8 是 Google 开发的 JavaScript 解释引擎。这是对 v8 引擎的 Python 封装
PyWebKitGtk
WebKitGtk 是一个基于 WebKit 的 Web 渲染引擎。这是 WebKitGtk 的 Python 封装
网络编程
标准协议
链路层 / 网络层
Scapy
# 传统的 ping 扫描(网络层) ans,unans = sr(IP(dst='192.168.1.1-254')/ICMP()) # 局域网内的 ARP 扫描(链路层) ans,unans = srp(Ether(dst='ff:ff:ff:ff:ff:ff')/ARP(pdst='192.168.1.0/24'), timeout=2)
一个底层的网络库,可以在不同协议层次构造网络数据包(包括链路层、网络层、传输层),还支持 Sniffer 抓包
传输层
socket
asyncore
asynchat
应用层
ftplib
封装 FTP 协议(文件传输)的标准库
smtplib
封装 SMTP 协议(邮件发送)的标准库
imaplib
封装 IMAP 协议(邮件接收)的标准库
poplib
封装 POP3 协议(邮件接收)的标准库
PycURL
cURL 是一个功能很强的网络库/网络工具,支持 N 多应用层协议。这是用 Python 封装的第三方库
jabber.py
Jabber(又称 XMPP)是IM(即时通信)协议的标准。这是用 Python 封装的第三方库
irclib
IRC 是 Internet Relay Chat 的缩写。这是用 Python 封装的第三方库
编码和解码
json
标准库,提供 JSON 格式的编码和解码
base64
标准库,提供 Base16、Base32、Base64 格式的编码和解码
binhex
标准库,提供 binhex4 格式的编码和解码
uu
标准库,提供 uuencode 格式的编码和解码
Protocol Buffers(protobuf)
这是 Google 开发的一个跨语言的库,用于网络传输的编码和解码
网络开发框架
Twisted
数据库
数据库中间件
ODBC
pyODBC
pyODBC 封装了 ODBC API,通过它可以访问各种数据库(只要有 ODBC 驱动即可)
ceODBC
JDBC
Jython
ADO / ADO.NET
PyWin32
IronPython
特定数据库
MySQL
MySQL for Python (MySQLdb)
PostgreSQL
psycopg
操作 PostgreSQL 的第三方库
Oracle
cx_Oracle
操作 Oracle 的第三方库
MS SQL Server
pymssql
操作微软 SQL Server 的第三方库
IBM DB2
ibm-db
操作 DB2 的第三方库
SQLite
sqlite3
Berkeley DB
PyBSDDB
操作 Berkeley DB 的第三方库
ORM(Object-Relational Mapping)
SQLAlchemy
SQLAlchemy 支持的数据库有:MySQL、PostgreSQL、Sqlite、Oracle、MS SQL Server、Firebird、Sybase SQL Server、Informix、等
SQLObject
SQLObject 支持的数据库有:MySQL、PostgreSQL、Sqlite、MS SQL Server、Firebird、Sybase SQL Server、SAP DB、等
GUI 开发
GUI 框架 / 组件库
基于 Tk
Tkinter / tkinter
基于 wxWidgets
wxPython
PythonCard
基于 GTK+
PyGTK
基于 Qt
PyQt
PySide
基于 FLTK
PyFLTK
基于 Windows 平台
PyWin32
IronPython
基于 JVM 平台
Jython
其它
EasyGUI
PyGUI
Kivy
OcempGUI
图表/报表
matplotlib
制数学相关的图形
子主题
statsmodels
是一个Python库,用于拟合多种统计模型,执行统计测试以及数据探索和可视化线性模型,广义线性模型和鲁棒线性模型 线性混合效应模型方差分析(ANOVA)方法 时间序列过程和状态空间模型 广义的矩量法
pygal
一个简单易用的数据图库,它以面向对象的方式来创建各种数据图,而且使用 Pygal 可以非常方便地生成各种格式的数据图,包括 PNG、SVG 等。使用 Pygal 也可以生成 XML etree、HTML 表格(这些都需要安装其他包)
案例
折线图
# 导入pygal可视化模块import pygal line_chart = pygal.Line() # 创建一个线图的实例化对象line_chart.title = 'Browser usage evolution (in %)' # 设置标题line_chart.x_labels = map(str, range(2002, 2013)) # 设置X轴标签,从2002年到2013年# 下面是添加四条由11个点连成的线line_chart.add('Firefox', [None, None, 0, 16.6, 25, 31, 36.4, 45.5, 46.3, 42.8, 37.1])line_chart.add('Chrome', [None, None, None, None, None, None, 0, 3.9, 10.8, 23.8, 35.3])line_chart.add('IE', [85.8, 84.6, 84.7, 74.5, 66, 58.6, 54.7, 44.8, 36.2, 26.6, 20.1])line_chart.add('Others', [14.2, 15.4, 15.3, 8.9, 9, 10.4, 8.9, 5.8, 6.7, 6.8, 7.5])line_chart.render_to_file('bar_chart.svg') # 将图像保存为SVG文件,可通过浏览器查看
水平线
# 导入pygal可视化模块import pygal line_chart = pygal.HorizontalLine() # 创建一个水平线图的实例化对象line_chart.title = 'Browser usage evolution (in %)' # 设置标题line_chart.x_labels = map(str, range(2002, 2013)) # 注意,这里的是水平线图,那么X轴就变为Y轴,Y轴变为X轴,所以这里map返回的值应用于Y轴# 下面是添加四条由11个点连成的线line_chart.add('Firefox', [None, None, 0, 16.6, 25, 31, 36.4, 45.5, 46.3, 42.8, 37.1])line_chart.add('Chrome', [None, None, None, None, None, None, 0, 3.9, 10.8, 23.8, 35.3])line_chart.add('IE', [85.8, 84.6, 84.7, 74.5, 66, 58.6, 54.7, 44.8, 36.2, 26.6, 20.1])line_chart.add('Others', [14.2, 15.4, 15.3, 8.9, 9, 10.4, 8.9, 5.8, 6.7, 6.8, 7.5])line_chart.range = [0, 100] # 设置X轴的范围line_chart.render_to_file('bar_chart.svg') # 将图像保存为SVG文件,可通过浏览器查看
直方图
# 导入pygal可视化模块import pygal frequency = [10, 20, 30, 40, 50, 60]bar = pygal.Bar() # 创建一个直方图的实例化对象bar.title = 'test' # 设置标题bar.x_labels = ['1', '2', '3', '4', '5', '6']bar.x_title = "Result"bar.y_title = "Frequency of Result" bar.add('D', frequency)bar.render_to_file('bar_chart.svg') # 将图像保存为SVG文件,可通过浏览器查看
geopy
是Python关于地理位置的一个第三方库,用这个库来进行地址位置信息的查询和转换非常方便
pyecharts
$ pip install echarts-countries-pypkg$ pip install echarts-china-provinces-pypkg$ pip install echarts-china-cities-pypkg$ pip install echarts-china-counties-pypkg$ pip install echarts-china-misc-pypkg$ pip install echarts-united-kingdom-pypkg
pyecharts 是一个用于生成 Echarts 图表的类库。 Echarts 是百度开源的一个数据可视化 JS 库。主要用于数据可视化
处理文件格式
处理压缩文件 / 打包文件
zip
zipfile
处理 zip 格式的标准库
bzip2(bz2)
bz2
处理 bzip2 格式的标准库
gzip(gz)
gzip
处理 gzip 格式的标准库
zlib
处理 gzip 格式的标准库
tar
tarfile
处理 tar 格式的标准库
7zip(7z)
PyLZMA
处理 7zip 格式的第三方库
rar
rarfile
处理 rar 格式的第三方库
msi
msilib
处理 msi 格式的标准库
子主题
处理标记语言
XML
lxml
HTML
HTMLParser
以回调方式解析 HTML/XHTML 文件内容的标准库
处理图片
Python Imaging Library (PIL)
Python 图像处理库,支持常见图像文件格式(BMP、JPG、GIF、PNG、等),可以对图像进行各种常见操作(格式转换、旋转、缩放、剪切、等)
处理 PDF
pyfpdf
FPDF 的 Python 移植库,用来生成 PDF 文档
PyPDF2
可以提取文件属性,还可以切分/合并文档,加密/解密文档
PDFMiner
可以提取 PDF 文件属性以及每页的文本,支持把内容输出为 HTML 格式
处理 Office 文档
Word(doc、docx)
PyWin32
PyWin32 前面提到过。它可以基于 COM 操作 Office 文档,包括 Word(本地需要安装 Office)
Excel(xls、xlsx)
pyExcelerator
该库可以支持 Office Excel(97/2000/XP/2003)以及 OpenOffice Calc 的文档。无需依赖外部软件
pandas
数据处理
PyWin32
Power Point(ppt、pptx)
python-pptx
该库可以用来生成 pptx(Open XML PowerPoint)格式的文档
PyWin32
处理 CHM
PyCHM
这是基于 chmlib 的 Python 封装库。可以提取 CHM 文件的属性以及每个页面的内容
处理 RTF
PyRTF
这个 Python 库可以用来处理 RTF(富文本格式)文档
子主题
游戏开发
PyGame
跨平台的 Python 第三方库,用来辅助游戏开发的
PyOpenGL
封装 OpenGL 的 Python 第三方库
Python-Ogre
封装 OGRE(3D 渲染引擎)的 Python 第三方库
数值计算 / 科学计算
NumPy
NumPy 提供了功能强大、性能很高的数值数组,可以用来进行各种数值计算(包括矩阵运算)
SciPy
提供了更高层的数学运算模块(统计、线性代数、积分、常微分方程求解、傅立叶变换、信号处理、等),被广泛用于科研和工程领域