Python 常用模块:别从头造轮子,这些内置的和第三方的直接拿来用
Python 最值钱的东西就是它的生态——标准库加上 PyPI 上几十万的第三方包,几乎覆盖了你可能遇到的所有需求。
写代码的时候,遇到问题第一反应不应该是”自己怎么实现”,而是”有没有现成的模块可以用”。
文件和路径:os、sys、pathlib
os:跟操作系统打交道
import os
path = os.path.join("data", "logs", "app.log")
os.getcwd()
os.makedirs("data/logs", exist_ok=True)
os.path.exists("data.txt")
os.path.isfile("data.txt")
os.path.isdir("data")
os.listdir(".")
os.remove("temp.txt")
os.environ.get("PATH")
sys:控制 Python 解释器
import sys
sys.argv
sys.exit(1)
if sys.version_info < (3, 8):
print("需要 Python 3.8+")
sys.exit(1)
sys.path
sys.path.append("/my/custom/path")
sys.platform
pathlib:面向对象的路径操作(推荐)
from pathlib import Path
p = Path("/home/user/data/file.txt")
home = Path.home()
current = Path.cwd()
p.name
p.stem
p.suffix
p.parent
path = Path("data") / "logs" / "app.log"
Path("data.txt").write_text("Hello", encoding="utf-8")
content = Path("data.txt").read_text(encoding="utf-8")
for file in Path(".").glob("*.py"):
print(file)
for file in Path(".").rglob("*.txt"):
print(file)
Path("data/logs").mkdir(parents=True, exist_ok=True)
if Path("data.txt").exists():
Path("data.txt").unlink()
os 还是 pathlib? pathlib 是新代码的推荐选择,更直观、跨平台更好。老代码里 os.path 也很常见,两种都认识就行。
日期时间:datetime
from datetime import datetime, date, timedelta
now = datetime.now()
today = date.today()
now.strftime("%Y-%m-%d %H:%M:%S")
now.strftime("%Y年%m月%d日")
dt = datetime.strptime("2026-07-02 10:30:00", "%Y-%m-%d %H:%M:%S")
tomorrow = now + timedelta(days=1)
next_week = now + timedelta(weeks=1)
yesterday = now - timedelta(days=1)
delta = datetime(2026, 12, 31) - datetime(2026, 1, 1)
delta.days
timestamp = now.timestamp()
datetime.fromtimestamp(timestamp)
日期格式符记住 %Y-%m-%d %H:%M:%S 就够了,其他格式遇到再查。
JSON 处理:json