当前位置:首页>python>这几个Python代码,把格式转换、音频剪辑和文档迁移这类琐事给办了

这几个Python代码,把格式转换、音频剪辑和文档迁移这类琐事给办了

  • 2026-10-09 11:17:28
这几个Python代码,把格式转换、音频剪辑和文档迁移这类琐事给办了

日常里有一类工作:不算难,但重复、琐碎、切换软件麻烦。下面六个脚本分别处理图片格式、音频片段、终端提示、系统进程、文档格式和专注计时,代码完整、依赖常见,复制回去改改路径就能跑。

1. 图片批量格式转换

jpg、png、webp 之间互转,批量处理一整个文件夹,做图时不必逐个打开软件另存。

(需 pip install Pillow)

from PIL import Image
import os

defconvert_folder(src, dst, to="PNG"):
    os.makedirs(dst, exist_ok=True)
for name in os.listdir(src):
if name.lower().endswith((".jpg", ".jpeg", ".png", ".webp", ".bmp")):
            img = Image.open(os.path.join(src, name)).convert("RGB")
            base = os.path.splitext(name)[0]
            img.save(os.path.join(dst, f"{base}.{to.lower()}"), to)
            print(f"已转换:{name}")

# convert_folder("原图", "转后", to="WEBP")

小提示:webp 体积更小、适合网页;convert("RGB") 能避免带透明通道的 png 转 jpg 时报错。

2. 音频片段裁剪

从一段长音频里截取指定起止时间的小段,做铃声或素材都方便。

(需 pip install pydub,另装 ffmpeg)

from pydub import AudioSegment

defclip(src, out, start=0, end=30):
    audio = AudioSegment.from_file(src)
    seg = audio[start * 1000: end * 1000]
    seg.export(out, format=out.split(".")[-1])
    print(f"已截出 {end - start} 秒 -> {out}")

# clip("演讲.mp3", "片段.mp3", start=60, end=90)

小提示:时间单位是秒,内部乘 1000 转成毫秒;ffmpeg 没装会报错,按官网装一个即可。

3. 终端打字机文字动画

让文字像被逐个敲出来一样显示在终端,做演示或开场提示很有质感。零依赖。

import time, sys

deftypewriter(text, delay=0.03):
for ch in text:
        sys.stdout.write(ch)
        sys.stdout.flush()
        time.sleep(delay)
    print()

# typewriter("正在加载你的专属报告……")

小提示:delay 调小更快;想换行就在 text 里加 \n。

4. 进程管理与监控

列出当前占用较高的进程,必要时一键结束指定进程,适合电脑卡顿时快速排查。

(需 pip install psutil)

import psutil

deftop_procs(n=5):
    procs = []
for p in psutil.process_iter(["pid", "name", "memory_info"]):
try:
            mem = p.info["memory_info"].rss // 1024 // 1024
            procs.append((mem, p.info["pid"], p.info["name"]))
except Exception:
pass
for mem, pid, name in sorted(procs, reverse=True)[:n]:
        print(f"{mem}MB  PID={pid}{name}")

# top_procs(5)
# psutil.Process(1234).terminate()   # 结束指定进程

小提示:terminate 是温柔结束,kill 是强杀;结束系统进程前确认清楚,避免误关。

5. PDF 转为 Word 文档

把 PDF 内容导出成可编辑的 docx,省去手动重排的功夫。

(需 pip install pdf2docx)

from pdf2docx import Converter

defpdf_to_word(pdf, docx):
    cv = Converter(pdf)
    cv.convert(docx, start=0, end=None)
    cv.close()
    print(f"已生成:{docx}")

# pdf_to_word("说明.pdf", "说明.docx")

小提示:复杂排版的 PDF(多栏、表格)转换效果有限,纯文字页最稳;页数多会慢一些。

6. 简易番茄钟

工作 25 分钟、休息 5 分钟,到点弹窗提醒,帮自己保持节奏。

(tkinter 通常随 Python 自带,无需额外安装)

import tkinter as tk

defpomodoro(work=25, rest=5):
    root = tk.Tk()
    root.title("番茄钟")
    label = tk.Label(root, font=("Arial", 40))
    label.pack(padx=30, pady=30)

deftick(sec, tip):
if sec <= 0:
            label.config(text=tip + " 时间到")
            root.bell()
return
        m, s = divmod(sec, 60)
        label.config(text=f"{tip}{m:02d}:{s:02d}")
        root.after(1000, tick, sec - 1, tip)

    tick(work * 60, "专注")
    root.after(work * 60 * 1000, lambda: tick(rest * 60, "休息"))
    root.mainloop()

# pomodoro(25, 5)

小提示:root.after 是 tkinter 自带的定时器,不用另装库;想改时长调 work / rest 即可。

这六个脚本横跨图像、音频、终端、系统、文档和专注工具,共同点是把切换软件的成本省掉。挑一个最顺手的先跑,改改参数,它就归你调度了。

最新文章

随机文章