有些工具一旦用上就回不去了——不是因为多复杂,而是它们刚好卡在你每天卡壳的那一下。下面这 6 个 Python 脚本,覆盖监控、文档、系统、图像、快捷键和桌面挂件,每一个都小到能一眼看完,却能在关键时候省下大把时间。代码完整、依赖常见,复制回去改改就能跑。
每个脚本依旧是统一结构:先说解决什么,再给完整代码,最后附一句实用提示。
1. 网站可用性监控:挂了第一时间知道
自己搭了服务或常访的站点,等用户反馈才发现宕机就晚了。用 requests 定时探活,状态和时间一目了然,异常立刻打印,接个通知就能变报警。
(需 pip install requests)
import requests, time
defwatch(url, interval=300):
whileTrue:
try:
r = requests.get(url, timeout=5)
print(f"{time.ctime()}{url} -> {r.status_code}")
except Exception as e:
print(f"{time.ctime()}{url} 不可达:{e}")
time.sleep(interval)
# watch("https://example.com", 300) # 每 5 分钟探一次
小提示:status_code 为 200 代表正常,非 200 或抛异常都说明有问题;想变真报警,把打印换成发邮件或推送到消息工具即可。
2. 批量提取 Word 文字:几百份文档一次读完
一堆 .docx 要汇总内容,手动开太慢。用 python-docx 把每个文档的正文一次性抽成纯文本,后续检索、分析都方便。
(需 pip install python-docx)
from docx import Document
import glob, os
defextract(folder="docs", out="texts"):
os.makedirs(out, exist_ok=True)
for path in glob.glob(f"{folder}/*.docx"):
doc = Document(path)
text = "\n".join(p.text for p in doc.paragraphs)
name = os.path.splitext(os.path.basename(path))[0]
open(f"{out}/{name}.txt", "w", encoding="utf-8").write(text)
print(f"已提取:{name}")
# extract("docs")
小提示:这里只取了正文段落,表格内容可用 doc.tables 额外遍历;生成的 .txt 可直接喂给前文的全文搜索脚本做统一检索。
3. 电脑体检:实时看 CPU 和内存占用
电脑变卡却说不清原因,用 psutil 抓实时占用,几行就能当成一个迷你监控。排查卡顿、看程序吃资源都好用。
(需 pip install psutil)
import psutil, time
defmonitor(interval=2, times=10):
for _ in range(times):
cpu = psutil.cpu_percent()
mem = psutil.virtual_memory().percent
print(f"CPU {cpu}% | 内存 {mem}%")
time.sleep(interval)
# monitor(2, 10) # 每 2 秒一次,共 10 次
小提示:psutil 还能拿磁盘、网络、进程信息,想把监控常驻,把循环去掉上限、加个图形界面就是个任务管理器雏形。
4. 用代码生成专属头像:输入文字就出图
需要占位头像、项目图标,又不想找图?把任意文字哈希成对称像素图(identicon),同样的字永远出同一张,天然适合做用户默认头像。
(需 pip install pillow)
import hashlib
from PIL import Image
defidenticon(text, size=240):
h = hashlib.md5(text.encode()).hexdigest()
bits = [int(h[i], 16) % 2for i in range(15)] # 5 行 × 3 列(左半)
fg = tuple(int(h[i:i+2], 16) for i in (0, 2, 4)) # 前景色
cell = size // 5
img = Image.new("RGB", (size, size), (245, 245, 245))
px = img.load()
for r in range(5):
for c in range(3):
if bits[r * 3 + c]:
for x in range(cell):
for y in range(cell):
px[c*cell + x, r*cell + y] = fg
px[(4-c)*cell + x, r*cell + y] = fg
img.save(f"identicon_{text}.png")
return img
identicon("C先生")
小提示:图案由文字的哈希决定,改文字就换图,相同文字永远一致;想更花哨,把前景色换成渐变或多色即可。
5. 全局热键:让键盘替你按组合键
重复的操作做成热键,一按就触发。用 keyboard 库监听系统级快捷键,跑脚本、发消息、截屏都能绑,手不用再离开主区。
(需 pip install keyboard,部分系统需管理员权限)
import keyboard
defbind():
keyboard.add_hotkey("ctrl+shift+s", lambda: print("触发了保存流程"))
keyboard.add_hotkey("ctrl+shift+c", lambda: print("触发了复制流程"))
keyboard.wait() # 常驻监听,直到手动结束
# bind()
小提示:回调里可以放任意函数,不止打印——调起其他脚本、写文件都行;keyboard.wait() 会阻塞,调试时记得留退出方式。
6. 桌面时钟挂件:时间挂在屏幕角上
写东西时老切去看时间,打断思路。用 tkinter 做个常驻小窗,显示时分秒,放屏幕一角,余光就能扫到。
(tkinter 自带,无需安装)
import tkinter as tk
import time
defclock():
root = tk.Tk()
root.title("桌面时钟")
root.geometry("260x90")
root.resizable(False, False)
label = tk.Label(root, font=("Consolas", 36))
label.pack(expand=True)
deftick():
label.config(text=time.strftime("%H:%M:%S"))
root.after(1000, tick)
tick()
root.mainloop()
# clock()
小提示:想更隐形,可去边框、调透明度、置顶显示;配合前三篇的护眼提醒一起用,桌面就同时有时间和休息提醒。
这 6 个脚本没有高深依赖,标准库加一两个常用库就能跑。它们解决的不是"大问题",而是那些"每天都烦一下"的小事——网站挂了早发现、Word 文字随手取、电脑状态一眼看、头像一键生成、热键替你按、时间挂在桌角。挑一个装上,日常效率就多了一层兜底。