Python 常用标准库指南
时间处理
使用 datetime 处理日期和时间。
from datetime import datetime, timedelta
def date_operations():
current_time = datetime.now()
tomorrow = current_time + timedelta(days=1)
formatted_date = current_time.strftime("%Y-%m-%d %H:%M:%S")
return {
"current": current_time,
"tomorrow": tomorrow,
"formatted": formatted_date
}
文件系统操作
结合 os 和 pathlib 处理文件系统。
import os
from pathlib import Path
def file_operations(directory):
current_dir = Path(directory)
for file_path in current_dir.glob("*.txt"):
file_info = {
"name": file_path.name,
"size": os.path.getsize(file_path),
"modified": datetime.fromtimestamp(
os.path.getmtime(file_path)
)
}
yield file_info
数据序列化
使用 json 处理数据序列化。
import json
def handle_json_data(data):
serialized = json.dumps(data, indent=2)
deserialized = json.loads(serialized)
with open("data.json", "w") as f:
json.dump(data, f, indent=2)
return serialized, deserialized
CSV 文件处理
处理 CSV 格式数据。
import csv
def process_csv_file(filename):
with open(filename, "r", newline="") as f:
reader = csv.DictReader(f)
data = list(reader)
fieldnames = ["name", "age", "city"]
with open("output.csv", "w", newline="") as f:
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(data)
随机数生成
使用 random 生成随机数据。
import random
def generate_random_data(size):
numbers = random.sample(range(1, 100), size)
choice = random.choice(["A", "B", "C"])
shuffled = list(range(size))
random.shuffle(shuffled)
return {
"numbers": numbers,
"choice": choice,
"shuffled": shuffled
}
命令行参数
使用 argparse 处理命令行参数。
import argparse
def setup_argument_parser():
parser = argparse.ArgumentParser(
description="处理命令行参数示例"
)
parser.add_argument(
"--input",
required=True,
help="输入文件路径"
)
parser.add_argument(
"--output",
default="output.txt",
help="输出文件路径"
)
return parser
日志记录
使用 logging 记录程序日志。
import logging
def setup_logger():
logging.basicConfig(
filename="app.log",
level=logging.INFO,
format="%(asctime)s [%(levelname)s] %(message)s",
datefmt="%Y-%m-%d %H:%M:%S"
)
logger = logging.getLogger(__name__)
return logger