Python 标准库是 Python 安装包的一部分,提供了大量的模块和包,涵盖了各种功能。这些模块可以帮助开发者快速地实现功能,而不必从头开始编写代码。本章将介绍一些常用的 Python 标准库模块。
os 模块
os 模块提供了许多与操作系统交互的函数。通过 os 模块,你可以执行文件和目录操作、环境变量管理等任务。
获取当前工作目录
import os print(os.getcwd()) # 输出当前工作目录
更改当前工作目录
os.chdir("/path/to/directory") # 更改当前工作目录
创建新目录
os.mkdir("/path/to/newdir")
删除空目录
os.rmdir("/path/to/emptydir")
列出目录内容
os.listdir("/path/to/directory")
删除文件
os.remove("/path/to/file")
sys 模块
sys 模块提供了访问和控制 Python 解释器的一些核心功能。通过 sys 模块,可以获取命令行参数、标准输入输出流、退出状态码等信息。
获取命令行参数
import sys print(sys.argv) # 输出命令行参数列表
获取 Python 版本
print(sys.version)
获取退出状态码
sys.exit(code) # 设置退出状态码
获取标准输入输出流
stdin = sys.stdin stdout = sys.stdout stderr = sys.stderr
datetime 模块
datetime 模块提供了日期和时间处理的功能。它包括了 date、time、datetime、timedelta 等类,能够方便地进行日期时间运算和格式化。
获取当前日期和时间
from datetime import datetime now = datetime.now() print(now)
格式化日期时间
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S") print(formatted_date)
计算日期时间差
from datetime import timedelta delta = timedelta(days=7, hours=8) future_date = now + delta print(future_date)
json 模块
json 模块用于编码和解码 JSON 数据。JSON 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。
将 Python 对象转换为 JSON 字符串
import json data = { "name": "Alice", "age": 30, "city": "Beijing" } json_str = json.dumps(data) print(json_str)
将 JSON 字符串转换为 Python 对象
parsed_data = json.loads(json_str) print(parsed_data)
requests 模块
requests 模块是一个非常流行的第三方 HTTP 库,它使发送 HTTP 请求变得简单。虽然 requests 并不属于 Python 的标准库,但它非常常用且易于使用。
发送 GET 请求
import requests response = requests.get('https://api.github.com') print(response.status_code) print(response.text)
发送 POST 请求
payload = {'key': 'value'} response = requests.post('http://httpbin.org/post', data=payload) print(response.json())
shutil 模块
shutil 模块提供了高层的文件操作,如复制、移动、删除整个目录等。它在处理复杂的文件操作时非常有用。
复制文件或目录
import shutil shutil.copyfile('/path/to/source', '/path/to/destination') # 复制文件 shutil.copytree('/path/to/source', '/path/to/destination') # 复制目录
移动文件或目录
shutil.move('/path/to/source', '/path/to/destination')
删除文件或目录
shutil.rmtree('/path/to/directory')
以上只是 Python 标准库中的部分模块。Python 标准库非常丰富,几乎覆盖了所有常见的编程需求。建议深入学习每个模块的具体功能和用法,以便更好地利用它们来提高开发效率。