一、系统交互与操作系统接口
1. os
- 操作系统接口
功能:提供跨平台操作系统功能,包括文件/目录操作、进程管理、环境变量访问等
典型用法:
import os
# 目录操作
os.mkdir("new_dir") # 创建目录
print(os.listdir()) # 列出当前目录内容
# 路径处理
print(os.path.join("folder", "file.txt")) # folder/file.txt
# 环境变量
print(os.getenv("PATH")) # 获取系统PATH
2. sys
- 系统参数与功能
功能:访问解释器参数和系统功能
典型用法:
import sys
# 命令行参数
print("脚本名:", sys.argv[0])
print("参数列表:", sys.argv[1:])
# Python信息
print("Python版本:", sys.version)
print("平台:", sys.platform)
# 退出程序
if error_occurred:
sys.exit(1) # 非零退出码表示错误
3. platform
- 平台信息
功能:获取详细的系统平台信息
典型用法:
import platform
print("操作系统:", platform.system()) # Windows/Linux/Darwin
print("操作系统版本:", platform.release())
print("处理器架构:", platform.machine())
print("Python构建信息:", platform.python_build())
二、数据处理与序列化
4. json
- JSON编解码
功能:JSON数据与Python对象的双向转换
典型用法:
import json
# Python对象 → JSON
data = {
"name": "Alice", "age": 30, "hobbies": ["reading", "hiking"]}
json_str = json.dumps(data, indent=2) # 美化输出
# JSON → Python对象
parsed_data = json.loads('{"name": "Bob", "active": true}')
print(parsed_data["name"]) # Bob
# 文件操作
with open("data.json", "w") as f:
json.dump(data, f) # 写入文件
5. csv
- CSV文件处理
功能:读写CSV格式数据
典型用法:
import csv
# 写入CSV
with open("data.csv", "w", newline="") as f:
writer = csv.DictWriter(f, fieldnames=["name", "email"])
writer.writeheader()
writer.writerow({
"name": "Alice", "email": "[email protected]"})
# 读取CSV
with open("data.csv") as f:
reader = csv.DictReader(f)
for row in reader:
print(f"{
row['name']}: {
row['email']}")
6. collections
- 高级数据结构
功能:扩展Python内置数据结构
核心工具:
from collections import defaultdict, Counter, deque
# 默认字典
fruit_counts = defaultdict(int)
fruit_counts["apple"] += 1 # 自动初始化
# 计数器
colors = ["red", "blue", "red", "green", "blue", "blue"]
color_counts = Counter(colors)
print(color_counts.most_common(1)) # [('blue', 3)]
# 双端队列
d = deque([1, 2, 3])
d.appendleft(0) # 左侧添加
d.pop() # 右侧移除
三、日期时间处理
7. datetime
- 日期时间操作
功能:日期时间计算、格式化和时区处理
典型用法:
from datetime import datetime, timedelta
# 当前时间
now = datetime.now()
print(f"当前时间: {
now:%Y-%m-%d %H:%M}")
# 时间计算
tomorrow = now + timedelta(days=1)
last_week = now - timedelta(weeks=1)
# 格式化