节省你数小时工作的十大Python库

如果你经常编写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宝藏吗?请在评论中分享!

更多