当前位置:首页>python>6个即拿即用的 Python 脚本,把日常零碎需求一次补齐

6个即拿即用的 Python 脚本,把日常零碎需求一次补齐

  • 2026-10-10 18:35:45
6个即拿即用的 Python 脚本,把日常零碎需求一次补齐

上一篇解决了搜索、笔记、互传一类的事,今天再补一批更"贴身"的小工具:随手记的便签、查天气、定时截图、生成密码、画思维导图、搭一个本地接口。它们同样代码完整、依赖常见,复制回去改改就能用,覆盖的是那些"小到不值得装软件、却又天天碰到"的需求。

下面每个保持统一结构:先说解决什么,再给完整代码,最后附一句实用提示。

1. 本地便签小工具:随手记、关了还在

脑子里闪过的待办、灵感,临时开文档太重。用 tkinter 写一个常驻便签,内容自动存进本地文件,关掉再打开还在。tkinter 是 Python 自带,零额外安装。

import tkinter as tk
import json, os

FILE = "notes.json"

defload():
return json.load(open(FILE, encoding="utf-8")) if os.path.exists(FILE) else []

defsave(notes):
    json.dump(notes, open(FILE, "w", encoding="utf-8"), ensure_ascii=False, indent=2)

defapp():
    root = tk.Tk()
    root.title("我的便签")
    root.geometry("360x420")
    box = tk.Text(root, font=("Microsoft YaHei", 12))
    box.pack(fill="both", expand=True, padx=8, pady=8)
    box.insert("1.0", "\n".join(load()))
defon_close():
        save([l for l in box.get("1.0", "end").splitlines() if l.strip()])
        root.destroy()
    tk.Button(root, text="保存并退出", command=on_close).pack(pady=6)
    root.protocol("WM_DELETE_WINDOW", on_close)
    root.mainloop()

# app()

小提示:数据存在脚本同目录的 notes.json,纯文本、可随时备份;想要多便签分栏,把 Text 换成多个 Entry 或加标签页即可扩展。

2. 天气查询:一行拿到当前温度和天气

出门前想看眼天气,不用打开 App。用 Open-Meteo 的免费接口(无需注册、无需密钥)直接取当前温度和天气代码,换成经纬度就能查任意城市。

(需 pip install requests)

import requests

defweather(lat=39.9042, lon=116.4074):
    r = requests.get(
"https://api.open-meteo.com/v1/forecast",
        params={
"latitude": lat,
"longitude": lon,
"current": "temperature_2m,weather_code",
"timezone": "Asia/Shanghai",
        },
        timeout=5,
    ).json()
    c = r["current"]
    print(f"当前温度 {c['temperature_2m']}℃,天气代码 {c['weather_code']}")

weather()   # 默认北京,改 lat/lon 换城市

小提示:weather_code 是国际标准天气代码(0 晴、3 多云、61 小雨等),可对照官方文档映射成中文描述;把经纬度写成城市字典,就能做成一个多城市查询小工具。

3. 屏幕定时截图:自动留存操作过程

做教程、留证、记录屏幕变化,手动截太累。用 PIL 的屏幕截取配合定时循环,每隔设定秒数自动存一张图到本地文件夹。

(需 pip install pillow)

from PIL import ImageGrab
import time, os

defsnap_every(interval=300, out="shots"):
    os.makedirs(out, exist_ok=True)
    n = 1
whileTrue:
        ImageGrab.grab().save(f"{out}/shot_{n:03d}.png")
        print(f"已保存 shot_{n:03d}.png")
        n += 1
        time.sleep(interval)

# snap_every(300)   # 每 5 分钟截一次

小提示:interval 单位是秒,按需调小(如 60 每分一张);图片会越积越多,建议定期清理或加日期前缀,避免占用空间。

4. 强密码生成器:一次产出多个高随机口令

注册账号还在用生日?用标准库 secrets 生成密码,随机性远强于普通 random,支持自定义长度和数量,一秒产出一批。

import secrets, string

defgen_password(length=16, count=5):
    chars = string.ascii_letters + string.digits + "!@#$%^&*"
for _ in range(count):
        pwd = "".join(secrets.choice(chars) for _ in range(length))
        print(pwd)

gen_password(16, 5)   # 生成 5 个 16 位密码

小提示:secrets 专用于安全场景,比 random 更抗预测;长度建议 12 位以上,特殊符号可按平台规则增删,避免某些网站不支持。

5. 把大纲变成思维导图:一键生成 mermaid 文本

整理读书笔记、会议纪要时,层级结构用图比文字清楚。这个脚本把一组条目转成 mermaid 思维导图代码,粘到支持 mermaid 的编辑器(如 Obsidian、部分在线工具)即可渲染成图。

defto_mindmap(items, root="主题", out="mindmap.md"):
    lines = ["```mermaid", "mindmap", f"  root(({root}))"]
for it in items:
        lines.append(f"    {it}")
    lines.append("```")
    text = "\n".join(lines)
    open(out, "w", encoding="utf-8").write(text)
return text

to_mindmap(["第一章", "第二章", "第三章"], root="读书笔记")

小提示:条目支持再缩进一层(前面多打两个空格)就能画出分支;生成的是纯文本,可随时改、可版本管理,比手画导图好维护。

6. 本地微型接口:几行搭一个自己的 API

想让自己写的脚本能被其他程序调用,或做个简单的本地服务,用 flask 几行就能起一个接口,返回标准 JSON,方便对接前端或自动化流程。

(需 pip install flask)

from flask import Flask, jsonify

app = Flask(__name__)

@app.route("/status")
defstatus():
return jsonify(msg="服务正常", code=1)

# app.run(port=5000)

小提示:/status 只是示例,实际可接数据库、文件处理或模型推理;本地调试用 port=5000,正式部署再交给服务器,注意不要直接暴露到公网。


这 6 个脚本瞄准的是"小需求":便签管灵感、天气管出行、截图管记录、密码管安全、导图管结构、接口管扩展。它们彼此独立,缺哪个补哪个,全部跑在标准库加一两个常用库上,不需要复杂环境。把感兴趣的先跑起来,改改参数,日常效率就多一层兜底。

最新文章

随机文章