Python 剪贴板增强:如何自动保存内容到指定文件
Python 如何监控剪贴板,使得复制的内容可以自动保存到指定的文件
Python 剪贴板增强:如何自动保存内容到指定文件
12 回复
pip install pyperclippython<br>from pyperclip import copy, paste<br><br>copy('2333') # 向剪贴板写入 2333<br><br>paste() # 值为剪贴板中的内容<br>
这个需求很实用,核心就是用 pyperclip 监听剪贴板变化,然后把内容追加到文件里。下面是一个完整的实现:
import pyperclip
import time
from datetime import datetime
import threading
class ClipboardMonitor:
def __init__(self, file_path="clipboard_history.txt"):
self.file_path = file_path
self.last_clipboard = ""
self.running = True
def save_to_file(self, content):
"""将内容追加保存到文件"""
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
with open(self.file_path, 'a', encoding='utf-8') as f:
f.write(f"[{timestamp}]\n{content}\n")
f.write("-" * 50 + "\n\n")
print(f"已保存剪贴板内容到 {self.file_path}")
def monitor(self):
"""监控剪贴板变化"""
print("开始监控剪贴板... (按Ctrl+C停止)")
try:
while self.running:
current_clipboard = pyperclip.paste()
if current_clipboard != self.last_clipboard and current_clipboard.strip():
self.save_to_file(current_clipboard)
self.last_clipboard = current_clipboard
time.sleep(0.5) # 检查间隔
except KeyboardInterrupt:
print("\n监控已停止")
except Exception as e:
print(f"发生错误: {e}")
def start(self):
"""启动监控线程"""
thread = threading.Thread(target=self.monitor, daemon=True)
thread.start()
return thread
# 使用示例
if __name__ == "__main__":
# 指定保存文件路径,默认是当前目录的 clipboard_history.txt
monitor = ClipboardMonitor("my_clipboard_log.txt")
# 启动监控(会在后台运行)
monitor.start()
# 保持主线程运行
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
monitor.running = False
print("程序退出")
安装依赖:
pip install pyperclip
代码说明:
- 用
pyperclip.paste()获取当前剪贴板内容 - 通过比较判断内容是否变化,避免重复保存
- 添加时间戳方便追踪
- 使用线程在后台监控,不影响其他操作
- 按 Ctrl+C 可以停止程序
扩展建议:
- 可以加个过滤,只保存特定类型的内容(比如只保存链接)
- 可以改成保存到数据库,方便查询
- 可以加个GUI设置保存路径和开关
一句话总结:用 pyperclip 轮询剪贴板,变化了就写入文件。
感谢评论,自动监听剪贴板,一有新的内容自动粘贴到记事本里
放狗没找到,你前面说的那个我懂,我不是伸手党
那就暴力一点,每 0.5 秒对比一下
Windows 上可以使用 pywin32,具体的模块叫 win32clipboard
win7 + py3
>>> print(paste())
paste()#为什么不是 2333
说到底就是 Windows API Hook,跟 python 毛关系都没有。。。。
https://www.codeproject.com/Articles/19858/Global-Windows-Hooks



