Python怎么实现查询剪贴板自动匹配信息
Python怎么实现查询剪贴板自动匹配信息
本文小编为大家详细介绍“Python怎么实现查询剪贴板自动匹配信息”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么实现查询剪贴板自动匹配信息”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
不想每次都要去查execl,想更方便点,更快一点。
通俗点思路:点击exe,Python 自动监控剪贴板的内容,然后正则取出IP,接着根据IP对比业务文档,获取相应的信息,然后把查询出来的内容,弹出提示,把查询出的内容写入剪贴板。
"""功能作用:对比剪贴板类容"""importwin32clipboardaswimportwin32conimportxlrdfromtkinterimportmessageboximportwin32api,win32conimportpyperclipimportreimportsysimportos#print(__file__)path=os.path.dirname(os.path.abspath(__file__))sys.intern(path)#print(path)#获取剪贴板中的内容defgetText():w.OpenClipboard()d=w.GetClipboardData(win32con.CF_TEXT)w.CloseClipboard()return(d).decode("GBK")#设置剪贴板的类容defset_text(aString):w.OpenClipboard()w.EmptyClipboard()w.SetClipboardData(win32con.CF_TEXT,aString)w.CloseClipboard()#生成资源文件目录访问路径defresource_path(relative_path):ifgetattr(sys,"frozen",False):#是否BundleResourcebase_path=sys._MEIPASSelse:base_path=os.path.abspath(".")returnos.path.join(base_path,relative_path)#获取剪贴板中的ip,并判断是否正常defget_ip(ss_ip):ipList=re.findall(r"[0-9]+(?:.[0-9]+){3}",ss_ip)#print(ipList)ifipList:returnipListelse:win32api.MessageBox(0,"请您检查复制是否带有IP,请重新测试","提醒",win32con.MB_OK)sys.exit(0)#获取xls中的数据,和之前剪贴板的数据对比defhost(ss_ip):#获取execl的内容,这边是根据业务来分析filename=resource_path(os.path.join("res","hosts.xls"))#print(filename)#execl_hosts="./hosts.xls"data1=xlrd.open_workbook(filename)page=data1.sheet_by_index(2)nrows1=page.nrowsncols1=page.ncols#获取iphost_ip=page.col_values(10)app=page.col_values(1)#功能集群purpose=page.col_values(2)#用途hostname=page.col_values(11)#主机名称#print(host_ip)#开始对比数据start=0count=1#print(ss_ip)ifstr(ss_ip[0])notinhost_ip:win32api.MessageBox(0,f"暂无设备{ss_ip[0]}的信息","未知设备",win32con.MB_OK)sys.exit(0)fork,iteminenumerate(host_ip,start):#print(k,item,ss_ip[0])ifstr(ss_ip[0])==str(item):#print("正常:"+item,k)win32api.MessageBox(0,f"注意主机ip:{item}主机名称:{hostname[k]}功能集群:{app[k]}主机用途:{purpose[k]}","发现设备",win32con.MB_OK)pyperclip.copy(f"主机ip:{item}主机名称:{hostname[k]}功能集群:{app[k]}主机用途:{purpose[k]}")sys.exit(0)count=count+1defmain():ss_ip=getText()one_ip=get_ip(ss_ip)host(one_ip)if__name__=="__main__":main()
测试效果:
打包资源生成exe
Python打包.exe的方法大致有四种:py2exe, pyinstaller,cx_Freeze和nuitka。其中最常用的是pyinstaller。Pyinstaller本身不是python库,但依旧可以安装python库安装方式安装,生成的.exe可以跨多平台使用,也能指定图标。
我们需要把使用到的资源文件都放在一个文件夹里。本文在当前目录下新建了一个名为res的子文件夹来存放资源文件,本文假设res内的资源文件为hosts.xls
修改完.py文件后可以先运行一下,保证无误。然后通过cmd指令:
pyi-makespec -F beloved.py
生成.spec文件。如果要添加Icon等可以在这里就使用pyi-makespec --icon abc.jpg -F beloved.py语句生成spec文件。
接下来,修改.spec文件:
修改前datas=[],本文这里把它改成上图所示,意思是
将beloved.py当前目录下的res目录(及其目录中的文件)加入目标exe中,在运行时放在零时文件的根目录下,名称为res。
生成.exe文件以及其他相关文件
接下来,我们便可以放心的生成.exe文件了。执行cmd指令
pyinstaller -F beloved.spec
.exe文件生成在子文件dict中。到此便可以把.exe发给其他电脑端运行了。.exe运行比较慢,建议多等待,只要没出现错误提示就OK。
读到这里,这篇“Python怎么实现查询剪贴板自动匹配信息”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注恰卡编程网行业资讯频道。
推荐阅读
-
python(中无效的十进制怎么解决 python怎么转换进制)
python怎么转换进制?Python执行二进制转换:1.十进制到二进制(bin)首先,让让我们看看如何将十进制转换成二进制。我...
-
python怎么清除完全相同的行(python splte如何分隔有多个相同符号的str)
pythonsplte如何分隔有多个相同符号的str?str你的string内容str_(相同的符号)执行完了以后再在相同符号的...
-
python(编程控制电脑关机 如何控制电脑关机)
如何控制电脑关机?可以在电脑的运行窗口中输入输入公式,给电脑可以设置自动关机。1.按开快捷键winr然后打开运行窗口。2.在运行窗...
-
python中的特殊标识符(python 中 标识符中可以有逗号吗)
python中标识符中可以有逗号吗?在python语言中合法的标识符是字母、数字以及_,所以我合法的标识符中肯定不能有逗号if...
-
python(excel 提取数据写入新表 python导入excel数据找不到工作簿)
python导入excel数据找不到工作簿?我可以导入数据后找不到工作,不是因为他的工作没有被转移。什么软件可提取并合并Exce...
-
python中字典定义的四种方法(python global关键字的用法详解)
pythonglobal关键字的用法详解?global标志实际上是目的是提示python讲解器,说被其修饰的变量是全局变量。这样...
-
python(array用法 python如何对两个数组做差处理)
python如何对两个数组做差处理?Python中的列表中的元素肯定不能真接相加,减。t最佳的位置的是将列表装换成Python中的...
-
python多行注释符号怎么表示
python多行注释符号怎么表示这篇文章主要介绍“python多行...
-
python支持的操作系统是什么
python支持的操作系统是什么这篇文章主要介绍“python支持...
-
python如何判断列表为空
python如何判断列表为空这篇文章主要介绍“python如何判断...