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


Posted in Python onNovember 11, 2020

第一种

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 相关文章推荐
Python构造自定义方法来美化字典结构输出的示例
Jun 16 Python
解决Python requests 报错方法集锦
Mar 19 Python
使用requests库制作Python爬虫
Mar 25 Python
Python生成指定数量的优惠码实操内容
Jun 18 Python
python re.sub()替换正则的匹配内容方法
Jul 22 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
Aug 12 Python
python创建学生成绩管理系统
Nov 22 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
Nov 29 Python
Numpy之reshape()使用详解
Dec 26 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
May 26 Python
解决Pycharm 运行后没有输出的问题
Feb 05 Python
python垃圾回收机制原理分析
Apr 13 Python
如何通过python计算圆周率PI
Nov 11 #Python
python中turtle库的简单使用教程
Nov 11 #Python
python 怎样进行内存管理
Nov 10 #Python
python tqdm实现进度条的示例代码
Nov 10 #Python
python 解决Windows平台上路径有空格的问题
Nov 10 #Python
Python在后台自动解压各种压缩文件的实现方法
Nov 10 #Python
Python高阶函数与装饰器函数的深入讲解
Nov 10 #Python
You might like
php 上传功能实例代码
2010/04/13 PHP
CI(CodeIgniter)框架介绍
2014/06/09 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
Yii 2.0自带的验证码使用经验分享
2017/06/19 PHP
js 发个判断字符串是否为符合标准的函数
2009/04/27 Javascript
兼容IE和FF的js脚本代码小结(比较常用)
2010/12/06 Javascript
解析瀑布流布局:JS+绝对定位的实现
2013/05/08 Javascript
javascript中拼接HTML字符串的最快、最好的方法
2014/06/07 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
2016/08/17 Javascript
JS实现两周内自动登录功能
2017/03/23 Javascript
一文让你彻底搞清楚javascript中的require、import与export
2017/09/24 Javascript
微信小程序登录换取token的教程
2018/05/31 Javascript
vuex 解决报错this.$store.commit is not a function的方法
2018/12/17 Javascript
Vue 处理表单input单行文本框的实例代码
2019/05/09 Javascript
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
初学Python实用技巧两则
2014/08/29 Python
用C++封装MySQL的API的教程
2015/05/06 Python
python实现员工管理系统
2018/01/11 Python
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
python实现共轭梯度法
2019/07/03 Python
python之拟合的实现
2019/07/19 Python
pytorch+lstm实现的pos示例
2020/01/14 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
2020/02/26 Python
CSS3使用border-radius属性制作圆角
2014/12/22 HTML / CSS
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
世界上最全面的汽车零部件和配件集合:JC Whitney
2016/09/04 全球购物
全球在线商店:BerryLook
2019/04/14 全球购物
为什么要优先使用同步代码块而不是同步方法?
2013/01/30 面试题
中专三年学习的个人自我评价
2013/12/12 职场文书
消防器材管理制度
2014/01/28 职场文书
幼师自我鉴定
2014/02/01 职场文书
质量承诺书怎么写
2014/05/24 职场文书
个人批评与自我批评
2014/10/15 职场文书
党员评议自我评价
2015/03/03 职场文书
建党伟业观后感
2015/06/01 职场文书
同学会感言
2015/07/30 职场文书