Python获取剪贴板内容的两种实现方式对比

Cora
Cora
发布时间:2026-10-14| 6人浏览过
原创

本文介绍Python中获取剪贴板内容的两种常用方法。第一种基于win32clipboard库,执行速度快但稳定性较差,容易出错;第二种使用pyperclip库,虽然速度稍慢,但运行稳定且不易报错。文章通过对比两种方法的代码实现,建议在实际程序开发中优先采用第二种方式以确保系统稳定性。

Python获取剪贴板的两种方法概述

在Python中,获取剪贴板内容主要有两种实现路径。

基于win32clipboard的快速实现


import win32clipboard
import time
#速度快 容易出错
class niubi():
 def lihai(self):
  while True:
   #jianting().main()
   t = jianting().main()
   print(t)

class jianting():
 def clipboard_get(self):
  """获取剪贴板数据"""
  win32clipboard.OpenClipboard()
  data = win32clipboard.GetClipboardData(win32clipboard.CF_UNICODETEXT)
  win32clipboard.CloseClipboard()
  return data

 def main(self):
  """后台脚本:每隔0.2秒,读取剪切板文本,检查有无指定字符或字符串,如果有则执行替换"""
  # recent_txt 存放最近一次剪切板文本,初始化值只多执行一次paste函数读取和替换
  recent_txt = self.clipboard_get()
  while True:
   # txt 存放当前剪切板文本
   txt = self.clipboard_get()
   # 剪切板内容和上一次对比如有变动,再进行内容判断,判断后如果发现有指定字符在其中的话,再执行替换
   if txt != recent_txt:
    # print(f'txt:{txt}')
    recent_txt = txt # 没查到要替换的子串,返回None
    return recent_txt

   # 检测间隔(延迟0.2秒)
   time.sleep(0.2)

if __name__ == '__main__':
 niubi().lihai()

第一种方式虽然执行速度较快,但存在较高的出错概率。尽管普通用户通常难以感知到速度差异,但由于其不稳定性,一般不建议采用此方案。

第二种方式则采用了不同的底层机制。

基于pyperclip的稳定实现


import pyperclip
import time

#稳定不出错
class niubi():
 def lihai(self):
  while True:
   #jianting().main()
   t = jianting().main()
   print(t)
class jianting():
 def clipboard_get(self):
  """获取剪贴板数据"""
  data = pyperclip.paste() #主要这里差别
  return data

 def main(self):
  """后台脚本:每隔0.2秒,读取剪切板文本,检查有无指定字符或字符串,如果有则执行替换"""
  # recent_txt 存放最近一次剪切板文本,初始化值只多执行一次paste函数读取和替换
  recent_txt = self.clipboard_get()
  while True:
   # txt 存放当前剪切板文本
   txt = self.clipboard_get()
   # 剪切板内容和上一次对比如有变动,再进行内容判断,判断后如果发现有指定字符在其中的话,再执行替换
   if txt != recent_txt:
    # print(f'txt:{txt}')
    recent_txt = txt # 没查到要替换的子串,返回None
    return recent_txt

   # 检测间隔(延迟0.2秒)
   time.sleep(0.2)

if __name__ == '__main__':
 niubi().lihai()

在实际的程序开发场景中,我通常推荐使用第二种方法,因其表现更为可靠。

如果您对Python技术、最新资讯或实用工具感兴趣,欢迎持续关注python客栈。

以上就是关于Python获取剪贴板内容的两种方法的详细介绍,更多相关技术资料请查阅本站其他文章。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。