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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月09日 03时44分47秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
YOLO算法(二)—— Yolov2 & yolo9000
2019-04-30
YOLO算法(三)—— Yolov3 & Yolo系列网络优缺点
2019-04-30
Python的__future__模块
2019-04-30
计算机视觉中的cost-volume的概念具体指什么(代价体积)
2019-04-30
启发函数heuristic 与 A*
2019-04-30
Image Pyramid(图像金字塔)
2019-04-30
Oracle 作业记录
2019-04-30
putty连接AWS配置(multimedia project)
2019-04-30
Hourglass Network 沙漏网络 (pose estimation姿态估计)
2019-04-30
OpenCV实战(二)——答题卡识别判卷
2019-04-30
目标检测神经网络的发展历程(52 个目标检测模型)
2019-04-30
Boundary loss 损失函数
2019-04-30
tensorflow使用tensorboard进行可视化
2019-04-30
凸优化 convex optimization
2019-04-30
数据库索引 & 为什么要对数据库建立索引 / 数据库建立索引为什么会加快查询速度
2019-04-30
IEEE与APA引用格式
2019-04-30