Python 技术篇-利用pyqt5库读取剪切板已复制数据的格式类型实例演示,python判断复制文件的文件类型
时间:2022-07-25
本文章向大家介绍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());
演示运行效果图:
演示里我复制的内容如下:
- Python接口自动化-3-POST请求
- 【Python环境】Python中的结构化数据分析利器-Pandas简介
- JAVA中使用Jedis操作Redis
- Tomcat搭建文件服务器
- Windows下SLmail邮件服务器缓冲区溢出理解及实验
- java使用mina和websocket通信
- 【机器学习】10 种机器学习算法的要点
- 写一个BASIC认证的https协议
- java发送邮件功能,以发送qq邮件为例
- spring boot加载复杂的yml文件获取不到值的问题
- JUC包下的CountDownLatch,CyclicBarrier,Semaphore
- java队列,ArrayBlockingQueue
- 多线程使用wait和notify做生产者消费者模型导致线程全部假死
- 偏执的iOS逆向研究员:收集全版本的macOS iOS+越狱+内核调试
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- java_数据类型转换、运算符
- JavaScript中字符串运算符是什么?有哪些?
- Docker日常使用方式
- 使用Python爬取动态网页-豆瓣电影(JSON)
- Linux安装配置PHPmyadmin
- Angular Service依赖注入的一个具体例子
- php学习day1
- 在Angular里使用rxjs的异步API - Observable
- 自动化监控Oracle表空间并发送报警
- Angular里的消息(Message)显示
- Angular应用内路由(In App Route)的最佳实践
- Angular应用的路由指令RouterLink
- ctfhub-信息泄泄露_备份文件下载
- Angular In-memory Web API使用介绍
- 攻防世界-php_rce