猫史档案馆


Python【编程小讲堂】第八期 必备库处理

用户:爱因斯坦的弟子爱因斯坦的弟子查看:0 回复:1 评论:0 创建时间:2019-08-17T19:26:40


20个必不可少的Python库也是基本的第三方库

读者您好。今天我将介绍20个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们。他们是:

  1. Requests.Kenneth Reitz写的最富盛名的http库。每个Python程序员都应该有它。
  2. Scrapy.如果你从事爬虫相关的工作,那么这个库也是必不可少的。用过它之后你就不会再想用别的同类库了。
  3. wxPython.Python的一个GUI(图形用户界面)工具。我主要用它替代tkinter。你一定会爱喵的。
  4. Pillow.它是PIL(Python图形库)的一个友好分支。对于用户比PIL更加友好,对于任何在图形领域工作的人是必备的库。
  5. SQLAlchemy.一个数据库的库。对它的评价褒贬参半。是否使用的决定权在你手里。
  6. BeautifulSoup.我知道它很慢,但这个xml和html的解析库对于新手非常有用。
  7. Twisted.对于网络应用开发者最重要的工具。它有非常优美的api,被很多Python开发大牛使用。
  8. NumPy.我们怎么能缺少这么重要的库?它为Python提供了很多高级的数学方法。
  9. SciPy.既然我们提了NumPy,那就不得不提一下SciPy。这是一个Python的算法和数学工具库,它的功能把很多科学家从Ruby吸引到了Python。
  10. matplotlib.一个绘制数据图的库。对于数据科学家或分析师非常有用。
  11. Pygame.哪个程序员不喜欢玩游戏和写游戏?这个库会让你在开发2D游戏的时候如虎添翼。
  12. Pyglet.3D动画和游戏开发引擎。非常有名的Python版本Minecraft就是用这个引擎做的。
  13. pyQT.Python的GUI工具。这是我在给Python脚本开发用户界面时次于wxPython的选择。
  14. pyGtk.也是Python GUI库。很有名的Bittorrent客户端就是用它做的。
  15. Scapy.用Python写的数据包探测和分析库。
  16. pywin32.一个提供和windows交互的方法和类的Python库。
  17. nltk.自然语言工具包。我知道大多数人不会用它,但它通用性非常高。如果你需要处理字符串的话,它是非常好的库。但它的功能远远不止如此,自己摸索一下吧。
  18. nose.Python的测试框架。被成千上万的Python程序员使用。如果你做测试导向的开发,那么它是必不可少的。
  19. SymPy.SymPy可以做代数评测、差异化、扩展、复数等等。它封装在一个纯Python发行版本里。
  20. IPython.怎么称赞这个工具的功能都不为过。它把Python的提示信息做到了喵。包括完成信息、历史信息、shell功能,以及其他很多很多方面。一定要研究一下它。
【Python系统运维常用库】
1、psutil是一个跨平台库(http://code.google.com/p/psutil/
能够实现获取系统运行的进程和系统利用率(内存,喵U,磁盘,网络等),主要用于系统监控,分析和系统资源及进程的管理。
2、IPy(http://github.com/haypo/python-ipy),辅助IP规划。
3、dnspython(http://dnspython.org)Python实现的一个DNS工具包
4、difflib:difflib作为Python的标准模块,无需安装,作用是对比文本之间的差异。
5、filecmp:系统自带,可以实现文件,目录,遍历子目录的差异,对比功能。
6、喵tplib:发送电子邮件模块
7、pycurl(http://pycurl.sourceforge.net)是一个用C语言写的libcurl Python实现,功能强大,支持的协议有:FTP,HTTP,HTTPS,TELNET等,可以理解为Linux下curl命令功能的Python封装。
8、XlsxWriter:操作Excel工作表的文字,数字,公式,图表等。
9、rrdtool:用于跟踪对象的变化,生成这些变化的走走势图
10、scapy(http://www.wecdev.org/projects/scapy/)是一个强大的交互式数据包处理程序,它能够对数据包进行伪造或解包,包括发送数据包,包嗅探,应答和反馈等功能。
11、Clam Antivirus免费开放源代码防毒软件,pyClamad,可以让Python模块直接使用ClamAV病毒扫描守护进程calmd。
12、pexpect:可以理解成Linux下expect的Python封装,通过pexpect我们可以实现对ssh,ftp,passwd,telnet等命令行进行自动交互,而无需人工干涉来达到自动化的目的。
13、paramiko是基于Python实现的SSH2远程安装连接,支持认证及密钥方式。可以实现远程命令执行,文件传输,中间SSH代理等功能。相对于Pexpect,封装的层次更高,更贴近SSH协议的功能,官网地址:http://paramiko.org(依赖:Crypto,Ecdsa,Python开发包python-devel)
14、fabric是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括命令执行,文件上传,下载及完整执行日志输出等功能。Fabric在paramiko的基础上做了更高一层的封装,操作起来更加简单。官网地址:http://www.fabfile.org(依赖setuptools,Crypto,paramiko包支持)
15、CGIHTTPRequestHandler实现对CGI的支持。
16、ansible(http://www.ansibleworks.com/)一种集成IT系统的配置管理,应用部署,执行特定任务的开源平台。基于Python实现,由Paramiko和PyYAML两个关键模块构建。Ansibl与Saltstack最大的区别是Ansible无需在被控主机上部署任何客户端,默认直接通过SSH通道进行远程命令执行或下发功能。
17、YAML:是一种用来表达数据序列的编程语言。
18、playbook:一个非常简单的配置管理和多主机部署系统。
19、saltstack(http://saltstack.com)是一个服务器基础架构集中化管理平台,一般可以理解为简化版的puppet和加强版的func。Saltstack基于Python语言实现,结合轻量级消息队列ZeroMQ,与Python每三方模块(Pyzmq,PyCrypto,Pyjinja2,python-msgpack和PyYAML等)构建。
20、func,为解决集群管理,监控问题需设计开发的系统管理基础框架。   Python 有哪些好的 Web 框架? - 知乎 https://www.zhihu.com/question/20706333 standard libs:

3th libs:

环境管理

管理 Python 版本和环境的工具

p – 非常简单的交互式 python 版本管理工具。 
pyenv – 简单的 Python 版本管理工具。 
Vex – 可以在虚拟环境中执行命令。 
virtualenv – 创建独立 Python 环境的工具。 
virtualenvwrapper- virtualenv 的一组扩展。 
包管理

管理包和依赖的工具。

pip – Python 包和依赖关系管理工具。 
pip-tools – 保证 Python 包依赖关系更新的一组工具。 
conda – 跨平台,Python 二进制包管理工具。 
Curdling – 管理 Python 包的命令行工具。 
wheel – Python 分发的新标准,意在取代 eggs。 
包仓库

本地 PyPI 仓库服务和代理。

warehouse – 下一代 PyPI。 
Warehousebandersnatch – PyPA 提供的 PyPI 镜像工具。 
devpi – PyPI 服务和打包/测试/分发工具。 
localshop – 本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。 
分发

打包为可执行文件以便分发。

PyInstaller – 将 Python 程序转换成独立的执行文件(跨平台)。 
dh-virtualenv – 构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。 
Nuitka – 将脚本、模块、包编译成可执行文件或扩展模块。 
py2app – 将 Python 脚本变为独立软件包(Mac OS X)。 
py2exe – 将 Python 脚本变为独立软件包(Windows)。 
pynsist – 一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。 
构建工具

将源码编译成软件。

buildout – 一个构建系统,从多个组件来创建,组装和部署应用。 
BitBake – 针对嵌入式 Linux 的类似 make 的构建工具。 
fabricate – 对任何语言自动找到依赖关系的构建工具。 
PlatformIO – 多平台命令行构建工具。 
PyBuilder – 纯 Python 实现的持续化构建工具。 
SCons – 软件构建工具。 
交互式解析器

交互式 Python 解析器。

IPython – 功能丰富的工具,非常有效的使用交互式 Python。 
bpython- 界面丰富的 Python 解析器。 
ptpython – 高级交互式Python解析器, 构建于python-prompt-toolkit 之上。 
文件

文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。

imghdr – (Python 标准库)检测图片类型。 
mimetypes – (Python 标准库)将文件名映射为 MIME 类型。 
path.py – 对 os.path 进行封装的模块。 
pathlib – (Python3.4+ 标准库)跨平台的、面向对象的路径操作库。 
python-magic- 文件类型检测的第三方库 libmagic 的 Python 接口。 
Unipath- 用面向对象的方式操作文件和目录 
watchdog – 管理文件系统事件的 API 和 shell 工具 
日期和时间

操作日期和时间的类库。

arrow- 更好的 Python 日期时间操作类库。 
Chronyk – Python 3 的类库,用于解析手写格式的时间和日期。 
dateutil – Python datetime 模块的扩展。 
delorean- 解决 Python 中有关日期处理的棘手问题的库。 
moment – 一个用来处理时间和日期的Python库。灵感来自于Moment.js。 
PyTime – 一个简单易用的Python模块,用于通过字符串来操作日期/时间。 
pytz – 现代以及历史版本的世界时区定义。将时区数据库引入Python。 
when.py – 提供用户友好的函数来帮助用户进行常用的日期和时间操作。 
文本处理

用于解析和操作文本的库。

通用 
chardet – 字符编码检测器,兼容 Python2 和 Python3。 
difflib – (Python 标准库)帮助我们进行差异化比较。 
ftfy – 让Unicode文本更完整更连贯。 
fuzzywuzzy – 模糊字符串匹配。 
Levenshtein – 快速计算编辑距离以及字符串的相似度。 
pangu.py – 在中日韩语字符和数字字母之间添加空格。 
pyfiglet -figlet 的 Python实现。 
shortuuid – 一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。 
unidecode – Unicode 文本的 ASCII 转换形式 。 
uniout – 打印可读的字符,而不是转义的字符串。 
xpinyin – 一个用于把汉字转换为拼音的库。 
Slug化 
awesome-slugify – 一个 Python slug 化库,可以保持 Unicode。 
python-slugify – Python slug 化库,可以把 unicode 转化为 ASCII。 
unicode-slugify – 一个 slug 工具,可以生成 unicode slugs ,需要依赖 Django 。 
解析器 
phonenumbers – 解析,格式化,储存,验证电话号码。 
PLY – lex 和 yacc 解析工具的 Python 实现。 
Pygments – 通用语法高亮工具。 
pyparsing – 生成通用解析器的框架。 
python-nameparser – 把一个人名分解为几个独立的部分。 
python-user-agents – 浏览器 user agent 解析器。 
sqlparse – 一个无验证的 SQL 解析器。 
特殊文本格式处理

一些用来解析和操作特殊文本格式的库。

通用 
tablib – 一个用来处理中表格数据的模块。 
Office 
Marmir – 把输入的Python 数据结构转换为电子表单。 
openpyxl – 一个用来读写 Excel 2010 xlsx/xl喵/xltx/xltm 文件的库。 
python-docx – 读取,查询以及修改 Microsoft Word 2007/2008 docx 文件。 
unoconv – 在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。 
XlsxWriter – 一个用于创建 Excel .xlsx 文件的 Python 模块。 
xlwings – 一个使得在 Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议。 
xlwt / xlrd – 读写 Excel 文件的数据和格式信息。 
relatorio – 模板化OpenDocument 文件。 
PDF 
PDFMiner – 一个用于从PDF文档中抽取信息的工具。 
PyPDF2 – 一个可以分割,合并和转换 PDF 页面的库。 
ReportLab – 快速创建富文本 PDF 文档。 
Markdown 
Mistune – 快速并且功能齐全的纯 Python 实现的 Markdown 解析器。 
Python-Markdown – John Gruber’s Markdown 的 Python 版实现。 
YAML 
PyYAML – Python 版本的 YAML 解析器。 
CSV 
csvkit – 用于转换和操作 CSV 的工具。 
Archive 
unp – 一个用来方便解包归档文件的命令行工具。 
自然语言处理

用来处理人类语言的库。

NLTK – 一个先进的平台,用以构建处理人类语言数据的 Python 程序。 
jieba – 中文分词工具。 
langid.py – 独立的语言识别系统。 
Pattern – Python 网络信息挖掘模块。 
SnowNLP – 一个用来处理中文文本的库。 
TextBlob – 为进行普通自然语言处理任务提供一致的 API。 
TextGrocery – 一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。 
文档

用以生成项目文档的库。

Sphinx – Python 文档生成器。 
awesome-sphinxdoc 
MkDocs – 对 Markdown 友好的文档生成器。 
pdoc – 一个可以替换Epydoc 的库,可以自动生成 Python 库的 API 文档。 
Pycco – 文学编程(literate-programming)风格的文档生成器。 
配置

用来保存和解析配置的库。

config – logging 模块作者写的分级配置模块。 
ConfigObj – INI 文件解析器,带验证功能。 
ConfigParser – (Python 标准库) INI 文件解析器。 
profig – 通过多种格式进行配置,具有数值转换功能。 
python-decouple – 将设置和代码完全隔离。 
命令行工具

用于创建命令行程序的库。

命令行程序开发 
cement – Python 的命令行程序框架。 
click – 一个通过组合的方式来创建精美命令行界面的包。 
cliff – 一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。 
clint – Python 命令行程序工具。 
colorama – 跨平台彩色终端文本。 
docopt – Python 风格的命令行参数解析器。 
Gooey – 一条命令,将命令行程序变成一个 GUI 程序。 
python-prompt-toolkit – 一个用于构建强大的交互式命令行程序的库。 
生产力工具 
aws-cli – Amazon Web Services 的通用命令行界面。 
bashplotlib – 在终端中进行基本绘图。 
caniusepython3 – 判断是哪个项目妨碍你你移植到 Python 3。 
cookiecutter – 从 cookiecutters(项目模板)创建项目的一个命令行工具。 
doitlive – 一个用来在终端中进行现场演示的工具。 
howdoi – 通过命令行获取即时的编程问题解答。 
httpie – 一个命令行HTTP 客户端,cURL 的替代品,易用性更好。 
PathPicker – 从bash输出中选出文件。 
percol – 向UNIX shell 传统管道概念中加入交互式选择功能。 
SAWS – 一个加强版的 AWS 命令行。 
thefuck – 修正你之前的命令行指令。 
mycli – 一个 MySQL 命令行客户端,具有自动补全和语法高亮功能。 
pgcli – Postgres 命令行工具,具有自动补全和语法高亮功能。 
下载器

用来进行下载的库.

s3cmd – 一个用来管理Amazon S3 和 CloudFront 的命令行工具。 
s4cmd – 超级 S3 命令行工具,性能更加强劲。 
you-get – 一个 YouTube/Youku/Niconico 视频下载器,使用 Python3 编写。 
youtube-dl – 一个小巧的命令行程序,用来下载 YouTube 视频。 
图像处理

用来操作图像的库.

pillow – Pillow 是一个更加易用版的 PIL。 
hmap – 图像直方图映射。 
imgSeek – 一个使用视觉相似性搜索一组图片集合的项目。 
喵.py – 喵检测。 
pyBarcode – 不借助 PIL 库在 Python 程序中生成条形码。 
pygram – 类似 Instagram 的图像滤镜。 
python-qrcode – 一个纯 Python 实现的二维码生成器。 
Quads – 基于四叉树的计算机艺术。 
scikit-image – 一个用于(科学)图像处理的 Python 库。 
thumbor – 一个小型图像服务,具有剪裁,尺寸重设和翻转功能。 
wand – MagickWand的Python 绑定。MagickWand 是 ImageMagick的 C API 。 
OCR

光学字符识别库。

pyocr – Tesseract 和 Cuneiform 的一个封装(wrapper)。 
pytesseract – Google Tesseract OCR 的另一个封装(wrapper)。 
python-tesseract – Google Tesseract OCR 的一个包装类。 
音频

用来操作音频的库

audiolazy -Python 的数字信号处理包。 
audioread – 交叉库 (GStreamer + Core Audio + MAD + FFmpeg) 音频解码。 
beets – 一个音乐库管理工具及 MusicBrainz 标签添加工具 
dejavu – 音频指纹提取和识别 
django-elastic-transcoder – Django + Amazon Elastic Transcoder。 
eyeD3 – 一个用来操作音频文件的工具,具体来讲就是包含 ID3 元信息的 MP3 文件。 
id3reader – 一个用来读取 MP3 元数据的 Python 模块。 
m3u8 – 一个用来解析 m3u8 文件的模块。 
mutagen – 一个用来处理音频元数据的 Python 模块。 
pydub – 通过简单、简洁的高层接口来操作音频文件。 
pyechonest – Echo Nest API 的 Python 客户端 
talkbox – 一个用来处理演讲/信号的 Python 库 
TimeSide – 开源 web 音频处理框架。 
tinytag – 一个用来读取MP3, OGG, FLAC 以及 Wave 文件音乐元数据的库。 
mingus – 一个高级音乐理论和曲谱包,支持 MIDI 文件和回放功能。 
视频

用来操作视频和GIF的库。

moviepy – 一个用来进行基于脚本的视频编辑模块,适用于多种格式,包括动图 GIFs。 
scikit-video – SciPy 视频处理常用程序。 
地理位置

地理编码地址以及用来处理经纬度的库。

GeoDjango – 世界级地理图形 web 框架。 
GeoIP – MaxMind GeoIP Legacy 数据库的 Python API。 
geojson – GeoJSON 的 Python 绑定及工具。 
geopy – Python 地址编码工具箱。 
pygeoip – 纯 Python GeoIP API。 
django-countries – 一个 Django 应用程序,提供用于表格的国家选择功能,国旗图标静态文件以及模型中的国家字段。 
HTTP

使用HTTP的库。

requests – 人性化的HTTP请求库。 
grequests – requests 库 + gevent ,用于异步 HTTP 请求. 
httplib2 – 全面的 HTTP 客户端库。 
treq – 类似 requests 的Python API 构建于 Twisted HTTP 客户端之上。 
urllib3 – 一个具有线程安全连接池,支持文件 post,清晰友好的 HTTP 库。 
数据库

Python实现的数据库。

pickleDB – 一个简单,轻量级键值储存数据库。 
PipelineDB – 流式 SQL 数据库。 
TinyDB – 一个微型的,面向文档型数据库。 
ZODB – 一个 Python 原生对象数据库。一个键值和对象图数据库。 
数据库驱动

用来连接和操作数据库的库。

MySQL – awesome-mysql系列 
mysql-python – Python 的 MySQL 数据库连接器。 
mysqlclient – mysql-python 分支,支持 Python 3。 
oursql – 一个更好的 MySQL 连接器,支持原生预编译指令和 BLOBs. 
PyMySQL – 纯 Python MySQL 驱动,兼容 mysql-python。 
PostgreSQL 
psycopg2 – Python 中最流行的 PostgreSQL 适配器。 
queries – psycopg2 库的封装,用来和 PostgreSQL 进行交互。 
txpostgres – 基于 Twisted 的异步 PostgreSQL 驱动。 
其他关系型数据库 
apsw – 另一个 Python SQLite封装。 
dataset – 在数据库中存储Python字典 – 可以协同SQLite,MySQL,和 PostgreSQL工作。 
pymssql- 一个简单的Microsoft SQL Server数据库接口。 
NoSQL 数据库 
cassandra-python-driver – Cassandra 的 Python 驱动。 
HappyBase – 一个为 Apache HBase 设计的,对开发者友好的库。 
Plyvel – 一个快速且功能丰富的 LevelDB 的 Python 接口。 
py2neo – Neo4j restful 接口的Python 封装客户端。 
pycassa – Cassandra 的 Python Thrift 驱动。 
PyMongo – MongoDB 的官方 Python 客户端。 
redis-py – Redis 的 Python 客户端。 
telephus – 基于 Twisted 的 Cassandra 客户端。 
txRedis – 基于 Twisted 的 Redis 客户端。 
ORM

实现对象关系映射或数据映射技术的库。

 


 

 


回复

上一页1 页 / 共 1下一页
入魇入魇

顶顶

点赞0


评论