python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python pyperclip操作剪贴板

Python通过pyperclip库操作剪贴板

作者:仙草哥哥

pyperclip是一个python库用于操作剪贴板,可以非常方便地将文本复制到剪贴板或从剪贴板获取文本,下面就跟随小编一起了解一下pyperclip的具体使用吧

pyperclip介绍

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

通过pip进行安装:pip install pyperclip

pyperclip的github地址

pyperclip使用

复制到剪贴板

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

从剪贴板读取

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

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

实际例子

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

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

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

替换剪贴板中的内容

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

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

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

密码管理器快速复制信息

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

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

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

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

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

监听剪贴板变化

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

import pyperclip
import time
 
last_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("没有找到邮箱地址")

到此这篇关于Python通过pyperclip库操作剪贴板的文章就介绍到这了,更多相关Python pyperclip操作剪贴板内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文