Python 技术篇-利用pyqt5库读取剪切板已复制数据的格式类型实例演示,python判断复制文件的文件类型

简介: Python 技术篇-利用pyqt5库读取剪切板已复制数据的格式类型实例演示,python判断复制文件的文件类型

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

['text/plain'] 是纯文本类型。

['text/html', 'text/plain']html 的格式 + 文本类型,找个网页复制一段文字就可以获得这个效果。

如果是文件类型,其格式信息如下:

['application/x-qt-windows-mime;value="Shell IDList Array"', 'application/x-qt-w
indows-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 DropEff
ect"', 'application/x-qt-windows-mime;value="AsyncFlag"', 'text/uri-list', 'appl
ication/x-qt-windows-mime;value="FileName"', 'application/x-qt-windows-mime;valu
e="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());

演示运行效果图:

image.png

演示里我复制的内容如下:

image.png

喜欢的点个赞❤吧!

           


目录
相关文章
|
6月前
|
存储 人工智能 测试技术
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
本文介绍如何使用LangChain结合DeepSeek实现多轮对话,测开人员可借此自动生成测试用例,提升自动化测试效率。
1513 125
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
|
6月前
|
监控 数据可视化 数据挖掘
Python Rich库使用指南:打造更美观的命令行应用
Rich库是Python的终端美化利器,支持彩色文本、智能表格、动态进度条和语法高亮,大幅提升命令行应用的可视化效果与用户体验。
589 0
|
5月前
|
数据可视化 关系型数据库 MySQL
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
本文详解基于Python的电影TOP250数据可视化大屏开发全流程,涵盖爬虫、数据存储、分析及可视化。使用requests+BeautifulSoup爬取数据,pandas存入MySQL,pyecharts实现柱状图、饼图、词云图、散点图等多种图表,并通过Page组件拖拽布局组合成大屏,支持多种主题切换,附完整源码与视频讲解。
597 4
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
|
5月前
|
传感器 运维 前端开发
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
本文解析异常(anomaly)与新颖性(novelty)检测的本质差异,结合distfit库演示基于概率密度拟合的单变量无监督异常检测方法,涵盖全局、上下文与集体离群值识别,助力构建高可解释性模型。
489 10
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
|
Python
Python 技术篇-利用pyqt5库监听剪切板变动,clipboard.dataChanged.connect()剪切板监听
Python 技术篇-利用pyqt5库监听剪切板变动,clipboard.dataChanged.connect()剪切板监听
563 0
|
6月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
966 102
|
6月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
429 104
|
6月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
335 103
|
6月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
277 82
|
5月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
413 3

推荐镜像

更多