当前位置: 首页 > news >正文

python通过pyperclip库操作剪贴板

pyperclip介绍

pyperclip是一个python库用于操作剪贴板,可以非常方便地将文本复制到剪贴板或从剪贴板获取文本。

通过pip进行安装:pip install pyperclip

pyperclip的github地址

 pyperclip使用

复制到剪贴板

import pypercliptext = "Hello, World!"
pyperclip.copy(text)

从剪贴板读取

import pyperclipcopied_text = pyperclip.paste()
print(copied_text)

可以看出,pyperclip的核心功能是非常简单的,只需要这两个功能,就能发挥非常大的作用。

实际例子

生成当前时间复制到剪贴板

import pyperclip
import datetimecurrent_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
pyperclip.copy(current_time)

运行程序以后,通过粘贴,就可以得到当前的时间。

替换剪贴板中的内容

import pypercliptext = pyperclip.paste()
new_text = text.replace("sb", "小可爱")pyperclip.copy(new_text)
print("替换后的文本已复制到剪贴板!")

运行程序以后,剪贴板的内容就会根据需要进行替换。

当你复制“你可真是一个sb“之后,运行程序,剪贴板的内容就会变为,”你可真是一个小可爱“。

密码管理器快速复制信息

import pyperclipusername = "sagegrass"
password = "123456"# 将用户名复制到剪贴板
pyperclip.copy(username)
print("用户名已复制到剪贴板")# 将密码复制到剪贴板
pyperclip.copy(password)
print("密码已复制到剪贴板")

实际使用中,应该分别复制,然后由用户进行依次粘贴。比如说,在密码管理器的界面上,可能提供一个“复制”的按钮,当点击这个按钮,就可以将内容安全的复制到剪贴板中。在密码管理器中,这样的实现是一个好的安全的方法,来保证密码不直接出现。

注意:如果复制以后的密码长时间存储于剪贴板中,同样可能存在安全风险,因此密码管理器通常会选择在几秒钟后,清除剪贴板上复制的内容。

import pyperclip
import timepassword = "123456"pyperclip.copy(password)
print("密码已复制到剪贴板")time.sleep(10)# 一定时间以后,如果发现剪贴板的内容还是密码
# 那么就用空内容将其清除
if pyperclip.paste() == password:pyperclip.copy("")

这样,在时间范围以内,仍然可以持续复制粘贴,但是时间到了以后,就不能继续使用了。

监听剪贴板变化

剪贴板可能是一个泄露隐私的关键位置,例如,如果有程序在监听剪贴板,那么你复制粘贴的所有内容,都会被其监测到。

import pyperclip
import timelast_text = pyperclip.paste()while True:time.sleep(0.5)# 检查剪贴板内容是否有变化current_text = pyperclip.paste()# 如果剪贴板的内容不一样了,那么就是变化了if current_text != last_text:print("剪贴板内容已更新:", current_text)last_text = current_text

注意:由于可能侵犯他人隐私,因此,不要随意使用这个功能,尤其是不应该利用该功能去窃取他人剪贴板!

 从文本中提取邮箱

通过正则表达式,可以根据规则,从复制的文本中提取想要的内容。例如,根据规则,提取文本中出现的所有邮箱地址。

import pyperclip
import re# 从剪贴板获取文本
text = pyperclip.paste()# 使用正则表达式查找邮箱
email_pattern = r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}'
emails = re.findall(email_pattern, text)if emails:# 将提取的邮箱复制到剪贴板pyperclip.copy(", ".join(emails))print("已提取邮箱并复制到剪贴板:", emails)
else:print("没有找到邮箱地址")

http://www.lryc.cn/news/473747.html

相关文章:

  • LSTM——长短期记忆神经网络
  • 10进阶篇:运用第一性原理解答“是什么”类型题目
  • 【elkb】索引生命周期管理
  • 江协科技STM32学习- P25 UART串口协议
  • 15分钟学 Go 第 22 天:包的使用
  • 【Leecode】Leecode刷题之路第35天之搜索插入位置
  • 速盾:海外cdn高防
  • 图书管理系统(JDBC)
  • 模板初阶及STL简介
  • UE5 不同的编译模式下,module的组织形式
  • 【ms-swift 大模型微调实战】
  • Linux:网络基础
  • mysql 的内连接、左连接、右连接有什么区别?
  • update-alternatives(选择工具)
  • php解密,sg11解密-sg15解密 如何由sourceGuardian11-sourceGuardian15加密(sg11加密~sg15加密)的源码
  • b站小土堆PyTorch视频学习笔记(二)
  • Linux的压缩及其解压命令
  • GXYCTF2019:gakki
  • 顺序表(C 语言)
  • 一:时序数据库-Influx应用
  • Word文档丢失抢救方法:15 个 Word 文档恢复工具
  • 关于自动驾驶等级相关知识
  • Java中跳转结构
  • CNN-Attention分类预测 | Matlab实现多特征分类预测
  • [java][基础]JSP
  • 《测绘学报》
  • 代码随想录之链表刷题总结
  • Python爬虫的“京东大冒险”:揭秘商品类目信息
  • 双目视觉标定——1原理与实践
  • 【设计模式系列】代理模式(八)