跳到主要内容

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