Python 技术篇-利用pyqt5库读取剪切板已复制数据的格式类型实例演示,python判断复制文件的文件类型
发布日期:2021-06-30 16:45:23 浏览次数:2 分类:技术文章

本文共 1408 字,大约阅读时间需要 4 分钟。

首先介绍下复制内容类型的几种分类:

['text/plain'] 是纯文本类型。
['text/html', 'text/plain']html 的格式 + 文本类型,找个网页复制一段文字就可以获得这个效果。
如果是文件类型,其格式信息如下:

['application/x-qt-windows-mime;value="Shell IDList Array"', 'application/x-qt-windows-mime;value="DataObjectAttributes"', 'application/x-qt-windows-mime;value="DataObjectAttributesRequiringElevation"', 'application/x-qt-windows-mime;value="Shell Object Offsets"', 'application/x-qt-windows-mime;value="Preferred DropEffect"', 'application/x-qt-windows-mime;value="AsyncFlag"', 'text/uri-list', 'application/x-qt-windows-mime;value="FileName"', 'application/x-qt-windows-mime;value="FileNameW"']

当为文件类型时,可以通过 urls() 获取文件路径:

"PyQt5.QtCore.QUrl('file:///C:/Users/Public/Pictures/Sample Pictures/Desert.jpg')"

再通过文件的扩展名可判断文件类型:

s = "PyQt5.QtCore.QUrl('file:///C:/Users/Public/Pictures/Sample Pictures/Desert.jpg')"index1 = len(s) - s[::-1].index(".");index2 = s.index("')");print("提取的类型为:" + s[index1:index2])

完整代码如下:

from PyQt5.QtWidgets import *app = QApplication([])clipboard = app.clipboard()data = clipboard.mimeData()# 获取格式信息print(data.formats())if(data.hasFormat('text/uri-list')):    for path in data.urls():    	# 打印复制的路径    	print(path)    	# 提取字符串    	s = str(path)		index1 = len(s) - s[::-1].index(".");		index2 = s.index("')");		print("提取的类型为:" + s[index1:index2])# 如果是纯文本类型,打印文本的值if(data.formats() == ['text/plain']):    print(data.text());

演示运行效果图:

在这里插入图片描述
演示里我复制的内容如下:

在这里插入图片描述

喜欢的点个赞❤吧!

转载地址:https://lanzao.blog.csdn.net/article/details/108081711 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Python 技术篇-利用pyqt5库监听剪切板变动,clipboard.dataChanged.connect()剪切板监听
下一篇:Python 套接字-判断socket服务端有没有关闭的方法实例演示,查看socket运行状态

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月09日 03时44分47秒