当前位置:首页>python>这8个Python代码我藏了很久,冷门但真有用

这8个Python代码我藏了很久,冷门但真有用

  • 2026-09-20 12:10:54
这8个Python代码我藏了很久,冷门但真有用

热门脚本大家都会写,真正拉开差距的往往是那些「冷门但正好解决痛点」的小工具。这一篇再给你 8 个没在前九篇出现过的方向:扫码识别、屏幕录制、文件校验、文本查重、PDF 处理、剪贴板操控、本地数据库、视频提音。它们有的零依赖,有的只需一个常见库,复制回去就能用。

1. 二维码识别解码(手机扫出来的码也能读)

前面写过生成二维码,这一节反过来——识别并读取一张图片里的二维码内容,常用于批量核销、自动录入场景。

(需 pip install opencv-python)

import cv2

defdecode_qr(image_path):
    img = cv2.imread(image_path)
    detector = cv2.QRCodeDetector()
    data, pts, _ = detector.detectAndDecode(img)
if data:
        print("识别结果:", data)
else:
        print("未检测到二维码")

# decode_qr("qrcode.png")

小提示:detectAndDecode 一步完成定位和解码;要批量识别,把函数放进遍历图片文件夹的循环即可。若图片模糊或角度倾斜,识别率会下降,尽量用清晰正对的图。

2. 屏幕操作录制(把操作步骤存成视频)

做教程、记录操作流程时,用代码把屏幕变化录成 mp4,比外接录屏软件更轻量、可自动化。

(需 pip install opencv-python pillow)

import cv2
import numpy as np
from PIL import ImageGrab

defrecord(seconds=10, fps=10, out="record.mp4"):
    screen = ImageGrab.grab()
    w, h = screen.size
    fourcc = cv2.VideoWriter_fourcc(*"mp4v")
    video = cv2.VideoWriter(out, fourcc, fps, (w, h))
for _ in range(int(seconds * fps)):
        frame = np.array(ImageGrab.grab())
        video.write(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB))
    video.release()
    print("录制完成:", out)

# record(seconds=10)

小提示:seconds 控制录制时长,fps 越高越流畅但文件越大;录全屏分辨率下生成的视频体积不小,可按需降低帧率。

3. 文件哈希校验(确认文件没被改动)

下载的安装包、传输后的资料,怎么确认和原文件一致?算一个哈希值比对即可,标准库就能做,不依赖任何第三方包。

(Python 标准库,无需安装)

import hashlib

deffile_hash(path, algo="sha256"):
    h = hashlib.new(algo)
with open(path, "rb") as f:
for chunk in iter(lambda: f.read(8192), b""):
            h.update(chunk)
return h.hexdigest()

# print(file_hash("data.zip"))

小提示:sha256 适合做完整性校验;比对两个文件的哈希值,若完全一致则说明内容相同,可用来快速判断备份是否准确。

4. 文本相似度比对(简易查重)

两句话是不是同一个意思?两份文案有多像?用 difflib 算一个 0 到 1 的相似度,做轻量查重或去重足够用。

(Python 标准库,无需安装)

from difflib import SequenceMatcher

defsimilarity(a, b):
return SequenceMatcher(None, a, b).ratio()

# print(round(similarity("今天天气不错", "今日天气挺好"), 2))

小提示:返回值越接近 1 越相似;阈值可按场景设定,例如大于 0.8 判为高度重复。它衡量的是字符层面相似,不是语义相似。

5. PDF 拆分与加密(按需提取、随手加锁)

前面处理过 PDF 的合并、文字提取、转图片,这一节补齐拆分和加密:把指定几页单独拎出来,或给整份文件加个打开密码。

(需 pip install pypdf)

from pypdf import PdfReader, PdfWriter

defsplit_pdf(src, pages, out):
    reader = PdfReader(src)
    writer = PdfWriter()
for p in pages:
        writer.add_page(reader.pages[p])
with open(out, "wb") as f:
        writer.write(f)
    print("已拆分:", out)

defencrypt_pdf(src, out, pwd):
    reader = PdfReader(src)
    writer = PdfWriter()
for page in reader.pages:
        writer.add_page(page)
    writer.encrypt(pwd)
with open(out, "wb") as f:
        writer.write(f)
    print("已加密:", out)

# split_pdf("book.pdf", [0, 1, 2], "part.pdf")
# encrypt_pdf("book.pdf", "book_locked.pdf", "123456")

小提示:页码从 0 开始计数;加密后请妥善保管密码,遗忘将无法打开。拆分适合把长篇文档按章节分发。

6. 剪贴板自动读写(让复制粘贴听你指挥)

需要在多个窗口之间批量搬运文本?用脚本直接读写系统剪贴板,配合循环就能实现自动化搬运,比手动复制快得多。

(需 pip install pyperclip)

import pyperclip

defcopy(text):
    pyperclip.copy(text)
    print("已复制到剪贴板")

defpaste():
return pyperclip.paste()

# copy("Hello Python")
# print(paste())

小提示:pyperclip 在 Windows、Linux、macOS 下通用;可把 copy 放进循环,依次把多段内容送进剪贴板再手动粘贴到目标位置。

7. 本地数据库增删改查(告别散落的 txt)

数据稍微多一点,手写文本文件就容易乱。用 sqlite3 建一个本地数据库,几行就能完成建表、插入、查询,数据规整又好维护。

(Python 标准库,无需安装)

import sqlite3

defdemo():
    conn = sqlite3.connect("demo.db")
    c = conn.cursor()
    c.execute("CREATE TABLE IF NOT EXISTS items (id INTEGER PRIMARY KEY, name TEXT)")
    c.execute("INSERT INTO items (name) VALUES (?)", ("键盘",))
    conn.commit()
for row in c.execute("SELECT * FROM items"):
        print(row)
    conn.close()

# demo()

小提示:数据保存在本地文件 demo.db;适合做轻量本地存储,替代手工维护的 txt 或 csv;多表关联、条件查询都支持。

8. 视频提取音频(把声音单独存下来)

一段讲座视频、一个带解说的短片,只想保留声音反复听?用 moviepy 把音轨抽出来存成 mp3,几分钟的事。

(需 pip install moviepy)

from moviepy import VideoFileClip

defextract_audio(video_path, out="audio.mp3"):
    clip = VideoFileClip(video_path)
    clip.audio.write_audiofile(out)
    clip.close()
    print("音频已提取:", out)

# extract_audio("clip.mp4")

小提示:底层依赖 ffmpeg;与前面用 pydub 做音频格式互转互为补充——一个管「视频抽音」,一个管「音频转格式」。大视频建议先剪短再提取。


这 8 个脚本分布在图像识别、屏幕录制、安全校验、文本处理、文档操作、系统交互、数据存储、音视频八个领域,和前九篇的选题没有重叠。它们共同的特点是「小而专」——不一定天天用,但用到那一次就能省下大把时间。建议先挑一两个跑通,再慢慢把这套冷门工具收进自己的工具箱。

最新文章

随机文章