Python3 标准库概览
                           
天天向上
发布: 2025-03-14 23:41:27

原创
45 人浏览过

Python 标准库(Standard Library)是 Python 随附的一组模块和包,它提供了丰富的功能来执行常见任务,如文件操作、正则表达式、网络编程、数据库连接等。标准库是 Python 安装时的一部分,不需要额外安装。

标准库可以通过 import 语句导入使用,涵盖了很多领域的功能,下面是一些常用模块的概览。

1. 系统操作与文件处理

1.1 os

os 模块提供了与操作系统交互的功能。你可以用它来处理文件和目录操作、环境变量、路径操作等。

常用函数和属性:

  • os.getcwd():获取当前工作目录。
  • os.chdir(path):改变当前工作目录。
  • os.listdir(path):列出指定目录中的文件和目录。
  • os.mkdir(path):创建目录。
  • os.remove(path):删除文件。
  • os.path:提供与文件路径相关的功能,如 os.path.join()os.path.exists()os.path.abspath() 等。

1.2 shutil

提供高级的文件操作功能,如复制、移动文件或删除目录等。

常用函数:

  • shutil.copy(src, dst):复制文件。
  • shutil.move(src, dst):移动文件或目录。
  • shutil.rmtree(path):递归删除目录。

1.3 sys

用于访问与 Python 解释器相关的一些变量和功能。

常用函数:

  • sys.argv:获取命令行参数。
  • sys.exit():退出程序。
  • sys.path:Python 模块搜索路径。
  • sys.version:Python 版本。

1.4 pathlib

提供面向对象的文件路径处理,简化了路径操作。

常用类:

  • Path:用于表示文件系统路径。
  • path = Path('/usr/bin')
  • path.exists():检查路径是否存在。
  • path.mkdir():创建目录。

2. 数据处理

2.1 datetime

提供日期和时间处理的功能,支持时间算术、格式化等操作。

常用类:

  • datetime:表示当前时间的类。
  • date:表示日期(年、月、日)。
  • time:表示时间(小时、分钟、秒)。
  • timedelta:表示时间差。

常用函数:

  • datetime.now():获取当前日期和时间。
  • datetime.strftime(format):将 datetime 对象格式化为字符串。
  • datetime.strptime(date_string, format):将字符串解析为 datetime 对象

2.2 collections

提供了许多有用的数据结构,如 namedtupledequeCounterdefaultdict 等。

常用类:

  • Counter:计数器,返回元素出现的次数。
  • deque:双端队列,可以从两端添加和删除元素。
  • defaultdict:一个字典,如果键不存在,返回默认值。
  • namedtuple:具名元组,使得代码更具可读性。

2.3 json

提供了 JSON 数据的编码和解码功能。

常用函数:

  • json.dumps():将 Python 对象编码为 JSON 字符串。
  • json.loads():将 JSON 字符串解码为 Python 对象。
  • json.dump():将 Python 对象写入 JSON 文件。
  • json.load():从 JSON 文件读取数据并解码为 Python 对象。

2.4 csv

用于读取和写入 CSV 文件。

常用函数:

  • csv.reader():读取 CSV 文件。
  • csv.writer():写入 CSV 文件。
  • csv.DictReader():以字典格式读取 CSV 文件。
  • csv.DictWriter():以字典格式写入 CSV 文件。

3. 网络编程

3.1 socket

提供低层次的网络通信接口,支持 TCP/IP 网络协议。

常用方法:

  • socket.socket():创建一个套接字对象。
  • socket.connect():连接到远程服务器。
  • socket.send()socket.recv():发送和接收数据。
  • socket.bind():绑定 IP 和端口。

3.2 urllib

提供对 URL 的处理功能,包括获取网页内容和解析 URL。

常用模块:

  • urllib.request:发送 HTTP 请求。
  • urllib.parse:解析 URL。
  • urllib.error:处理 URL 请求错误。

常用函数:

  • urllib.request.urlopen():打开一个 URL。
  • urllib.parse.urlencode():对字典进行 URL 编码。
  • urllib.parse.urlparse():解析 URL。

3.3 ftplib

提供 FTP 协议客户端功能,支持文件上传和下载。

常用函数:

  • ftplib.FTP():创建 FTP 客户端。
  • FTP.login():登录 FTP 服务器。
  • FTP.retrbinary():下载文件。

3.4 smtplib

提供 SMTP 客户端功能,用于发送电子邮件。

常用函数:

  • smtplib.SMTP():创建 SMTP 客户端对象。
  • SMTP.sendmail():发送邮件。
  • SMTP.quit():结束邮件会话。

4. 异常和调试

4.1 logging

提供日志记录功能,适用于各种级别的日志输出。

常用函数:

  • logging.basicConfig():配置日志记录。
  • logging.debug()logging.info()logging.error() 等:输出不同级别的日志。

4.2 pdb

提供 Python 的调试器,用于逐步执行代码并检查程序状态。

常用方法:

  • pdb.set_trace():设置断点。
  • pdb.run():运行代码并调试。

4.3 traceback

提供对 Python 异常的详细追踪。

常用函数:

  • traceback.print_exc():打印当前异常的堆栈信息。
  • traceback.format_exc():获取异常的格式化文本。

5. 多线程与并发编程

5.1 threading

提供线程管理功能,用于实现多线程应用。

常用类:

  • threading.Thread:表示线程对象。
  • threading.Lock:用于同步线程之间的操作。
  • threading.Event:用于在多个线程间共享事件。

常用方法:

  • threading.Thread.start():启动线程。
  • threading.Thread.join():等待线程完成。

5.2 asyncio

提供异步 I/O 支持,适用于并发编程。

常用函数:

  • asyncio.run():启动异步任务。
  • asyncio.create_task():创建异步任务。
  • asyncio.sleep():暂停执行。

5.3 concurrent.futures

提供线程池和进程池,用于并行执行任务。

常用类:

  • ThreadPoolExecutor:线程池。
  • ProcessPoolExecutor:进程池。

6. 数据库

6.1 sqlite3

提供对 SQLite 数据库的支持。

常用类:

  • sqlite3.Connection:数据库连接对象。
  • sqlite3.Cursor:用于执行 SQL 语句的游标对象。

常用方法:

  • sqlite3.connect():创建数据库连接。
  • Connection.cursor():创建游标对象。
  • Cursor.execute():执行 SQL 查询。

6.2 dbm

提供简单的键值存储数据库。

常用模块:

  • dbm.gnu:GNU 风格的 dbm 库。
  • dbm.dumb:一个简单的 dbm 实现,适合小规模应用。

7. 文件格式与编码

7.1 pickle

用于序列化和反序列化 Python 对象,允许保存对象到文件或从文件加载对象。

  • 常用函数:
  • pickle.dump():将对象保存到文件。
  • pickle.load():从文件加载对象。

7.2 zipfile

提供对 ZIP 格式压缩文件的支持。

常用类:

  • zipfile.ZipFile:用来操作 ZIP 文件。

常用方法:

  • ZipFile.open():打开文件。
  • ZipFile.extractall():提取文件内容。

总结

Python 的标准库非常强大,涵盖了大量功能,可以满足从文件处理到网络编程、数据库操作等各种需求。学习并熟练掌握 Python 标准库的各个模块,将极大地提高编程效率,减少重复性工作。更多详细内容请关注其他相关文章!

发表回复 0

Your email address will not be published. Required fields are marked *