专栏首页极客猴常用Python标准库

常用Python标准库

众所周知,Python有庞大的库资源,有官方标准库以及第三方的扩展库。每个库都一把利器,能帮助我们快速处理某方面的问题。作为一名python的初学者,当把基本的语法、列表和元组、字典、迭代器、异常处理、I/O操作、抽象等知识点学完之后。我建议把官方常用的标准库也随便学下来。讲真的,你知道这些库之后,你会有种相见恨晚的感觉。

接下来带大家走进python标准库的世界。PS: 使用Python的版本为Python3

0x01 字符串

  • re: 正则表达式。用来判断字符串是否是你指定的特定字符串。在爬虫项目中,经常能捕获到它的身影。
  • StringIO: 提供以文件为保存形式来读和写字符串。还有个性能更加好的cStringIO版本
  • struct: 以二进制字节序列来解释字符串。可以通过格式化参数,指定类型、长度、字节序(大小端)、内存对齐等。

0x02 数据类型

  • bisect: 数组二分算法。提供支持按顺序对列表进行排序,而不必每次在列表中插入后再去排序。
  • heapq: 堆队列算法。最小堆:完全平衡二叉树, 所有节点都小于字节点。
  • datetime: 提供操作日期和时间的类。其中有两种日期和时间类型: naiveaware
  • collections: 高性能容器数据类型。实现了Python的通用内置容器、字典、列表、集合,和元组专门的数据类型提供替代品
  • pprint: 提供"整洁低打印"任意Python数据结构的能力。

0x03 数学运算

  • random: 各种分布的伪随机数的生成器
  • math: 数学函数。提供了由C标准的数学函数访问。该库的函数不适用于复数。
  • cmath: 为复数提供的数学函数。
  • operator: 提供了重载操作符

0x04 文件和目录

  • os.path: 常用路径名操作。提供了操作路径名的常用的函数。
  • filecmp: 文件和目录的比较。提供了比较文件和目录的函数。
  • shutil: 高级的文件操作。提供了许多文件和文件集上的操作操作。尤其是提供支持文件复制和删除的函数。

0x05 数据存储

  • serialization: Python专用的序列化算法,通常不建议用来存储自定义数据。
  • pickle: Python对象序列化。提供了一个基本但功能强大的Python对象序列化和反序列化算法。
  • cPickle: 比pickle快1000倍的对象序列化库, 和pickle可互相替换。
  • shevle: 将对象pickle序列化,然后保存到anydbm格式文件。anydbm是KV结构的数据库,可以保存多个序列化对象。
  • sqlite3: SQLite数据库DB-API 2.0接口。

0x06 数据压缩

  • zipfile: 提供了ZIP文件个创建、读取、写入、最佳和列出zip文件的函数。
  • tarfile: 提供了tar文件的压缩和解压的函数。

0x07 文件格式

  • csv: 提供对CSV文件的读取和写入的函数。

0x08 加密

  • hashlib: 安全哈希和消息摘要。实现了一个通用的接口来实现多个不同的安全哈希和消息摘要算法。包括 FIPS 安全哈希算法 SHA1、SHA224、SHA256、SHA384和 SHA512(定义在 FIPS 180-2),以及 RSA 的 MD5 算法(在互联网 RFC 1321中定义)。
  • hmac: 用于消息认证的加密哈希算法。实现了RFC 2104 中描述的HMAC 算法。
  • md5: 实现了MD5加密算法。
  • sha: 实现了sha1加密算法。

0x09 操作系统

  • time: 时间获取和转换。提供了各种与时间相关的函数。
  • argparse: 命令行选项、参数和子命令的解析器。使用该库使得编码用户友好的命令行接口非常容易。取代了之前的optparse
  • io: 提供接口处理IO流。
  • logging: Python的日志工具。提供了日志记录的API。
  • logging.config: Python日志配置。用于配置日志模块的API。
  • os: 提供丰富的雨MAC,NT,Posix等操作系统进行交互的能力。这个模块允许程序独立的于操作系统环境。文件系统,用户数据库和权限进行交互。
  • _thread: 多线程控制。提供了一个底层、原始的操作 —— 多个控制线程共享全局数据空间。
  • threading: 高级线程接口。是基于_thread模块的,但是比_thread更加容易使用、更高层次的线程API。
  • sys: 提供访问和维护python解释器的能力。这包括了提示信息,版本,整数的最大值,可用模块,路径钩子,标准错误,标准输入输出的定位和解释器调用的命令行参数。

0x10 进程通信

  • subprocess: 管理子进程。允许用户产生新的进程,然后连接他们的输入/输出/错误/管道,并获取返回值。
  • socket: 底层网络接口。
  • signal: 设置异步时间处理handlers。信号是软中断,提供了一种异步事件通知机制。

0x11 网络数据处理

  • json: JSON格式的编码器和解码器。
  • base64: 提供依据RFC 3548的规定(Base16, Base32, Base64 )进行数据编码和解码。
  • htmllib: 提供了一个HTML语法解析器。
  • mimetypes: 提供了判断给定的URL的MIME类型。

0x12 操作因特网网络协议

  • urllib: 提供了用于获取万维网数据的高层接口。这个是Python2.7版本的,Python3已经将其拆分成多个模块urllib.requesturllib.parseurllib.error
  • urlparse: 提供了用于处理URL的函数,可以在URL和平台特定的文件名间相互转换。
  • http.client: HTTP协议客户端。
  • telnetlib: 提供了实现Telnet协议的Telnet类。
  • poplib: POP3协议客户端。
  • ftplib: FTP协议客户端。
  • smtplib: SMTP协议客户端。
  • webbrowser: 提供控制浏览器行为的函数。

作者:猴哥,公众号:极客猴。爱好读书,喜欢钻研技术,梦想成为文艺青年的IT Boy。

- END -

本文分享自微信公众号 - 极客猴(Geek_monkey),作者:猴哥

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-12-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 这个 Github 仓库因你而精彩

    我于今年 6 月份创建自己微信读者群。群组人数从一开始零星几人到现在的两百多号人。群里面的小伙伴都非常好学,经常来群里面讨论技术问题。我自己从中学到很多知识,也...

    猴哥yuri
  • Django 学习笔记之环境搭建

    古人云:功遇善其事,必先利其器。在正式学习 Django Web 框架之前,我们要把准备工作做好。准备工作主要是搭建开发环境,具体工作是安装 Python、创建...

    猴哥yuri
  • 回顾 2017,展望 2018

    望着桌上的日历,我发现只剩下几张纸。自己蓦然意识到 2017 年已经即将离去,2018 年即将到来。已经到了年底,我们需要总结和回顾今年的历程。让我们盘点 20...

    猴哥yuri
  • 用 Webhook+Python+Shell 编写一套 Unix 类系统监控工具

    本文来自作者 Alinx 在 GitChat 上分享 「用 Webhook+Python+Shell 编写一套 Unix 类系统监控工具」

    CSDN技术头条
  • 关于强化学习(1)

    来源于Simple statistical gradient-following algorithms for connectionist reinforcem...

    Mezereon
  • 【图表大师二】 纯Excel图表制作高仿真决策仪表盘

    一、什么是仪表盘 仪表盘(guage,speedometer,dial chart,dashboard),是模仿汽车速度表的一种图表,常用来反映预算完成...

    CDA数据分析师
  • 蚁群算法详解

    如何寻找一条合适的路径,几乎是一个永恒的话题。每个人、每天都会遇到。大到全国列车的运行规划,小到每个人的手机导航。其中一部分是关于“如何寻找两个位置间的最短距离...

    智能算法
  • 深度神经网络(DNN)损失函数和激活函数的选择

        在深度神经网络(DNN)反向传播算法(BP)中,我们对DNN的前向反向传播算法的使用做了总结。里面使用的损失函数是均方差,而激活函数是Sigmoid。实...

    刘建平Pinard
  • 2018年8月23日python中函数的高级操作:装饰器函数,偏函数,闭包函数,匿名函数(lambda表达式)

    1.函数的引用赋值: 函数也是一个对象,函数有自己的内存地址 def show():       print("这是一个函数") print(id(sh...

    武军超
  • 新冠病毒侵入人体全过程!从脚趾到大脑,科学家追踪到病毒对身体的巨大摧残

    在杜兰大学医学院,肺病和重症监护医生Joshua Denson发现,一天之内,在约20位重症监护病人中,有2名患者出现癫痫症状,其余不少患者出现呼吸衰竭的症状,...

    大数据文摘

扫码关注云+社区

领取腾讯云代金券