You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python监听剪贴板复制事件并存储内容,是否需要使用循环?

剪贴板监听功能实现解答

是否需要循环

是,你当前使用的pyperclip库没有提供剪贴板变化的事件回调能力,必须通过循环轮询的方式实现复制操作的监听。pyperclip只能主动读取、写入剪贴板内容,无法在系统触发复制操作时主动收到通知,所以需要定期读取剪贴板内容,对比前后变化判断是否有新的复制行为。

可直接运行的实现代码

你原来的代码只会运行一次,读取当前剪贴板内容就结束,无法持续监听,改成轮询版本即可:

import pyperclip
import time

# 初始化上一次剪贴板内容,避免把脚本运行前的复制内容判定为新操作
last_content = pyperclip.paste()

while True:
    current_content = pyperclip.paste()
    if current_content != last_content:
        # 检测到新的复制内容,执行你的业务逻辑
        last_content = current_content
        # 此处替换为你要自动运行的脚本逻辑
        print(f"已捕获新复制内容:{current_content}")
        # 你原有逻辑可直接放在这里
        # pyperclip.copy(current_content)
    # 控制轮询间隔,降低CPU占用,0.3~1秒都是合理区间
    time.sleep(0.3)

补充说明

  • 该轮询方案是跨平台的,Windows、macOS、Linux均可正常运行,不需要额外适配系统接口
  • 如果你需要更高的性能、不需要跨平台,可以对应使用系统专属的剪贴板监听API实现无轮询的事件驱动方案:Windows下用win32clipboard、macOS下用AppKit框架、Linux下用pygtk相关接口

内容的提问来源于stack exchange,提问作者Nataliikaa PetroOwwa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 15:57:01