这 10 个 Python 付费 app 平替工具,码住!
那个 PDF 改名需求,我第一眼就不太想开 Acrobat。
不是 Acrobat 不行,是你有 200 个文件时,一个个点开、另存、裁剪、压缩,那就不是办公,是受刑。
Python 最适合干这种脏活。
下面这 10 个,我不按“工具介绍”写,按我平时真会不会用来分。
1、Excel 付费插件:pandas + openpyxl
财务丢过来一个表,说“帮我把异常订单筛一下”。
这种活别上来就写循环。
import pandas as pddf = pd.read_excel("orders.xlsx")
bad = df[(df["pay_status"] == "PAID") & (df["ship_no"].isna())]
bad.to_excel("待补发货单.xlsx", index=False)
pandas 适合算、筛、合并,openpyxl 适合保留 Excel 样式、写单元格。一个管数据,一个管表格文件,这俩别混着乱用。pandas 官方定位就是 Python 的数据分析和处理工具,openpyxl 则是专门读写 xlsx/xlsm 这类 Excel 文件的库。
2、PDF 拆分合并工具:pypdf
有些合同扫描件,动不动几十页,只要其中几页。
from pypdf import PdfReader, PdfWriterreader = PdfReader("合同.pdf")
writer = PdfWriter()
for i in [0, 2, 3]:
writer.add_page(reader.pages[i])
with open("给法务的版本.pdf", "wb") as f:
writer.write(f)
这玩意儿替掉很多“PDF 合并大师”。pypdf 本身就是开源 PDF 库,能拆分、合并、裁剪、转换页面,也能读取文本和元数据。
3、图片批量压缩:Pillow
运营一口气发来 300 张图,说后台传不上去。
我一般不先问他图片哪里来的,先看大小。
from pathlib import Path
from PIL import Imageout = Path("small")
out.mkdir(exist_ok=True)
for img_path in Path("imgs").glob("*.jpg"):
img = Image.open(img_path)
img.thumbnail((1600, 1600))
img.save(out / img_path.name, quality=82, optimize=True)
Pillow 适合裁剪、压缩、转格式、加水印。别小看这个,很多付费图片处理软件,本质就是把这几个动作包了个界面。Pillow 官方说明里也提到它给 Python 提供图像处理能力,并支持不少文件格式。
4、Postman 平替:HTTPX
接口调试不一定非得开 Postman。
尤其是要批量打接口、带 token、顺便校验返回字段时,Python 脚本更顺手。
import httpxtoken = "test-token"
with httpx.Client(timeout=5) as client:
r = client.get(
"https://api.xxx.com/order/detail",
params={"orderNo": "A20260424001"},
headers={"Authorization": f"Bearer {token}"}
)
data = r.json()
assert data["code"] == 0
assert data["data"]["status"] in ("PAID", "SHIPPED")
HTTPX 支持同步和异步 API,也支持 HTTP/1.1 和 HTTP/2。这个点对接口压测前的小批量验证挺方便。
5、接口自动化平台:pytest
有些团队买测试平台,最后也就用来跑几个接口断言。
我不是说平台没用,但小团队先用 pytest 足够了。
deftest_order_detail(client):
resp = client.get("/order/detail", params={"orderNo": "A20260424001"})
body = resp.json()assert body["code"] == 0
assert body["data"]["orderNo"] == "A20260424001"
真正麻烦的不是写断言,是把测试数据、环境变量、token 刷新这些东西管住。pytest 这块生态够用了,别一开始就上大平台。
6、文件夹监听工具:watchdog
有些付费同步工具,我看了下,其实就是监听目录变化,然后触发动作。
比如供应商每天丢 CSV 到共享目录,文件一来就清洗入库。
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
import timeclassCsvArrived(FileSystemEventHandler):
defon_created(self, event):
if event.src_path.endswith(".csv"):
print("发现新文件:", event.src_path)
# 这里接清洗、校验、入库逻辑
observer = Observer()
observer.schedule(CsvArrived(), "incoming", recursive=False)
observer.start()
whileTrue:
time.sleep(1)
watchdog 就是干文件系统事件监听的,适合这种“文件来了就干活”的场景。
7、报表看板工具:Streamlit
老板要个日报页面,不一定非得买 BI。
先用 Streamlit 搭个能看的。
import pandas as pd
import streamlit as stdf = pd.read_excel("日报.xlsx")
st.title("订单日报")
st.metric("订单数", len(df))
st.line_chart(df.groupby("日期")["金额"].sum())
Streamlit 的定位很明确,用 Python 快速做数据应用和交互页面。它不是万能 BI,但临时看板、内部运营页、算法结果展示,很顶用。([Streamlit 文档][6])
8、批量重命名工具:pathlib + re
下载一堆附件,名字乱成这样:
合同扫描件(1).pdf
合同扫描件-最终版.pdf
客户资料_副本.pdf
别手改。
from pathlib import Path
import refor f in Path("files").iterdir():
ifnot f.is_file():
continue
name = re.sub(r"[()()_副本最终版\s-]+", "_", f.stem)
new_name = f"{name.strip('_')}{f.suffix.lower()}"
f.rename(f.with_name(new_name))
这种脚本没技术含量,但真省命。很多人学 Python,第一个能立刻用上的就是它。
9、日志分析工具:re + Counter
线上排查时,我不太爱先打开很重的日志平台。
本地有一份日志,先粗扫一遍。
import re
from collections import Countercnt = Counter()
with open("app.log", encoding="utf-8") as f:
for line in f:
m = re.search(r"api=([/\w-]+).*cost=(\d+)", line)
ifnot m:
continue
api, cost = m.group(1), int(m.group(2))
if cost > 1000:
cnt[api] += 1
print(cnt.most_common(10))
这类脚本适合先判断方向:到底是哪个接口慢,还是所有接口都慢。方向错了,后面看 trace 也容易看偏。
10、桌面小工具:tkinter
有些同事不会命令行,你给他 Python 脚本,他还是用不起来。
那就套个最薄的界面。
import tkinter as tk
from tkinter import filedialogdefpick_file():
path = filedialog.askopenfilename()
label.config(text=path or"没选文件")
root = tk.Tk()
root.title("文件校验小工具")
tk.Button(root, text="选择文件", command=pick_file).pack(padx=20, pady=10)
label = tk.Label(root, text="未选择")
label.pack(padx=20, pady=10)
root.mainloop()
tkinter 不漂亮,但它在标准库里。内部工具先能用,再谈好看。
这 10 个工具,别当收藏夹看。
真正的用法是:看到重复操作,先别急着找软件,想一下这个动作是不是能拆成“读文件、改数据、写文件、发请求、出报表”。
能拆出来,Python 基本就能接住。
付费软件当然有价值,尤其是协作、权限、审计、稳定性这些东西。但个人效率和小团队内部工具,别上来就买。很多时候,20 行脚本就够了。