Python如何实现查询剪贴板自动匹配信息
这篇文章主要介绍“Python如何实现查询剪贴板自动匹配信息”,在日常操作中,相信很多人在Python如何实现查询剪贴板自动匹配信息问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python如何实现查询剪贴板自动匹配信息”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
不想每次都要去查execl,想更方便点,更快一点。
通俗点思路:点击exe,Python 自动监控剪贴板的内容,然后正则取出IP,接着根据IP对比业务文档,获取相应的信息,然后把查询出来的内容,弹出提示,把查询出的内容写入剪贴板。
''' 功能作用:对比剪贴板类容 ''' importwin32clipboardasw importwin32con importxlrd fromtkinterimportmessagebox importwin32api,win32con importpyperclip importre importsys importos #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):#是否BundleResource base_path=sys._MEIPASS else: 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: returnipList else: 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.nrows ncols1=page.ncols #获取ip host_ip=page.col_values(10) app=page.col_values(1)#功能集群 purpose=page.col_values(2)#用途 hostname=page.col_values(11)#主机名称 #print(host_ip) #开始对比数据 start=0 count=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"\t\t注意\n主机ip:{item}主机名称:{hostname[k]}\n功能集群:{app[k]}主机用途:{purpose[k]}", "发现设备",win32con.MB_OK) pyperclip.copy(f"主机ip:{item}主机名称:{hostname[k]}\n功能集群:{app[k]}主机用途:{purpose[k]}") sys.exit(0) count=count+1 defmain(): 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。
参考地址:https://blog.csdn.net/qq_44685030/article/details/105096338
到此,关于“Python如何实现查询剪贴板自动匹配信息”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注恰卡编程网网站,小编会继续努力为大家带来更多实用的文章!
推荐阅读
-
Python中怎么动态声明变量赋值
这篇文章将为大家详细讲解有关Python中怎么动态声明变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中变量的存储原理是什么
-
Python中怎么引用传递变量赋值
这篇文章将为大家详细讲解有关Python中怎么引用传递变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中怎么获取程序执行文件路径
python中怎么获取程序执行文件路径,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的...
-
Python中如何获取文件系统的使用率
Python中如何获取文件系统的使用率,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴...
-
Python中怎么获取文件的创建和修改时间
这篇文章将为大家详细讲解有关Python中怎么获取文件的创建和修改时间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读...
-
python中怎么获取依赖包
今天就跟大家聊聊有关python中怎么获取依赖包,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据...
-
python怎么实现批量文件加密功能
-
python中怎么实现threading线程同步
小编给大家分享一下python中怎么实现threading线程同步,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!...
-
python下thread模块创建线程的方法
本篇内容介绍了“python下thread模块创建线程的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来...