Python监听剪切板实现方法代码实例

 更新时间:2020年11月11日 09:54:44   作者:凹凸曼大人  
这篇文章主要介绍了Python监听剪切板实现方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

第一种

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()

速度快,但很容易出错, 一般人感觉不出来速度。 不建议使用。

第二种

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 对象和json互相转换方法

    python 对象和json互相转换方法

    下面小编就为大家分享一篇python 对象和json互相转换方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • Python中sys模块功能与用法实例详解

    Python中sys模块功能与用法实例详解

    这篇文章主要介绍了Python中sys模块功能与用法,结合实例形式详细分析了Python sys模块基本功能、原理、使用方法及操作注意事项,需要的朋友可以参考下
    2020-02-02
  • Python 匹配任意字符(包括换行符)的正则表达式写法

    Python 匹配任意字符(包括换行符)的正则表达式写法

    Python 正则表达式匹配任意字符(包括换行符)的写法
    2009-10-10
  • Python异常之常见的Bug类型解决方法

    Python异常之常见的Bug类型解决方法

    这篇文章主要介绍了Python异常之常见的Bug类型解决方法,主要分享一些粗心导致和知识不熟练导致的语法错误以及被迫掉坑等内容,文章介绍非常详细需要的小伙伴可以参考一下
    2022-03-03
  • python多进程和多线程究竟谁更快(详解)

    python多进程和多线程究竟谁更快(详解)

    下面小编就为大家带来一篇python多进程和多线程究竟谁更快(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 解决ModuleNotFoundError: No module named ‘flask._compat的问题

    解决ModuleNotFoundError: No module named ‘

    这篇文章主要介绍了解决ModuleNotFoundError: No module named ‘flask._compat的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Python删除空文件和空文件夹的方法

    Python删除空文件和空文件夹的方法

    这篇文章主要介绍了Python删除空文件和空文件夹的方法,涉及Python针对文件与文件夹的遍历、判断与删除等技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 详解Python中sorted()和sort()的使用与区别

    详解Python中sorted()和sort()的使用与区别

    众所周知,在Python中常用的排序函数为sorted()和sort()。本文将详细介绍sorted()和sort()方法的代码示例,并解释两者之间的区别,感兴趣的可以了解一下
    2022-03-03
  • python读取一个目录下所有txt里面的内容方法

    python读取一个目录下所有txt里面的内容方法

    今天小编就为大家分享一篇python读取一个目录下所有txt里面的内容方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python中如何实现真正的按位取反运算

    Python中如何实现真正的按位取反运算

    按位取反是位运算符,而位运算符是应用在两个数的运算上,会对数字的二进制所有位数进行从低到高的运算,下面这篇文章主要给大家介绍了关于Python中如何实现真正的按位取反运算的相关资料,需要的朋友可以参考下
    2023-02-02

最新评论