如果你经常编写Python代码,你就会知道有些任务是多么的重复乏味。
Python拥有一些非常强大的库,可以为你节省数小时(甚至数天)的工作时间。问题是?大多数人仍然在使用一些主流库——NumPy、Pandas和Requests——而没有意识到还有一些隐藏的宝藏库可以自动化、优化和简化许多任务。
所以这里有一份10个Python库的列表,可以帮助你更快地完成工作。
1. Rich – 不再使用无聊的打印语句
Rich是一个改变游戏规则的库,专注于美观格式化的控制台日志。它允许你打印表格、语法高亮的代码、Markdown,甚至进度条。非常适合调试或让CLI工具更具视觉吸引力。
节省的时间:不再需要丑陋的打印调试或手动格式化表格。
from rich.console import Console
console = Console()
console.print("你好, [bold magenta]Rich![/bold magenta]")
2. Typer – 轻松编写命令行接口
如果你曾经在使用 argparse 时感到困扰,那么你一定会喜欢 Typer。它基于 FastAPI 的结构,使得构建命令行接口变得极其简单。
节省的时间:不再需要手动解析命令行参数。只需为你的函数添加类型提示,Typer 会处理其余的工作。
import typer
app = typer.Typer()
@app.command()
def hello(name: str):
print(f"Hello {name}")
app()
3. Polars – Pandas 的更快替代品
如果你觉得 Pandas 的操作很慢,Polars 是你需要的升级。它是一个极快的数据框库,能够更高效地处理大数据集。
节省的时间: 显著减少大数据的处理时间。
import polars as pl
df = pl.read_csv("data.csv")
df.filter(pl.col("age") > 30)
4. FastAPI – 构建API的现代方式
Django和Flask都很优秀,但FastAPI是一个完全不同的层次。它速度快,内置验证,并且能够自动生成API文档。
节省的时间:更少的样板代码,自动验证,以及更快的性能。
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "你好,FastAPI!"}
5. Pydantic – 停止手动编写数据验证
如果你厌倦了手动编写验证逻辑,Pydantic 是你的最佳选择。它允许你使用 Python 类型提示定义具有自动验证的数据模型。
节省的时间:无需编写复杂的验证函数。
from pydantic import BaseModel
class User(BaseModel):
name: str
age: int
user = User(name="John", age="25") # 引发验证错误
6. Loguru – 让日志记录变得极其简单
Python内置的日志模块功能强大,但过于复杂。Loguru 使日志记录变得像写打印语句一样简单。
节省的时间:无需配置复杂的日志设置。
from loguru import logger
logger.info("这是一条信息消息")
7. TQDM – 轻松添加进度条
如果你在处理耗时的循环,TQDM 是必备工具。它允许你只用一行代码就能为循环添加进度条。
节省的时间: 使长时间运行的循环可视化跟踪。
from tqdm import tqdm
for i in tqdm(range(100)):
pass # 在这里添加你的逻辑
8. Shapely – 轻松处理几何对象
如果您处理地理空间数据,Shapely 使得与几何对象的工作变得轻而易举。
节省时间:无需手动计算交点、距离或形状。
from shapely.geometry import Point
point = Point(1.0, 2.0)
print(point.x, point.y)
9. Pytest – 更快地编写更好的测试
忘掉 Python 内置的 unittest
吧。Pytest 使得编写和运行测试变得直观且高效。
节省时间:更简洁的语法、自动发现和更好的调试。
def test_example():
assert 2 + 2 == 4
使用单个命令运行所有测试:
pytest
10. Playwright – 像专业人士一样自动化浏览器操作
对于网页抓取或自动化测试,Playwright 是 Selenium 的强大替代品。
节省时间: 更快的执行速度,无头浏览,以及更好地处理现代网页应用。
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
page.goto("https://example.com")
print(page.title())
browser.close()
如果你发现自己在重复某些任务,可以寻找一个可以自动化或简化的Python库。很可能,已经有人为你构建了解决方案。
你使用过这些库中的哪些?还有其他节省时间的Python宝藏吗?请在评论中分享!