文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python如何实现查询剪贴板自动匹配信息

2023-06-20 15:23

关注

这篇文章主要介绍“Python如何实现查询剪贴板自动匹配信息”,在日常操作中,相信很多人在Python如何实现查询剪贴板自动匹配信息问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python如何实现查询剪贴板自动匹配信息”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

不想每次都要去查execl,想更方便点,更快一点。

Python如何实现查询剪贴板自动匹配信息

通俗点思路:点击exe,Python 自动监控剪贴板的内容,然后正则取出IP,接着根据IP对比业务文档,获取相应的信息,然后把查询出来的内容,弹出提示,把查询出的内容写入剪贴板。

'''功能作用:对比剪贴板类容''' import win32clipboard as wimport win32conimport xlrdfrom tkinter import messageboximport win32api, win32conimport pyperclipimport reimport sysimport os # print(__file__) path = os.path.dirname(os.path.abspath(__file__))sys.intern(path)  # print(path)# 获取剪贴板中的内容def getText():    w.OpenClipboard()    d = w.GetClipboardData(win32con.CF_TEXT)    w.CloseClipboard()    return (d).decode('GBK')  # 设置剪贴板的类容def set_text(aString):    w.OpenClipboard()    w.EmptyClipboard()    w.SetClipboardData(win32con.CF_TEXT, aString)    w.CloseClipboard()  # 生成资源文件目录访问路径def resource_path(relative_path):    if getattr(sys, 'frozen', False):  # 是否Bundle Resource        base_path = sys._MEIPASS    else:        base_path = os.path.abspath(".")    return os.path.join(base_path, relative_path)  # 获取剪贴板中的ip,并判断是否正常def get_ip(ss_ip):    ipList = re.findall(r'[0-9]+(?:\.[0-9]+){3}', ss_ip)    # print(ipList)    if ipList:        return ipList    else:        win32api.MessageBox(0, "请您检查复制是否带有IP,请重新测试", "提醒", win32con.MB_OK)        sys.exit(0)  # 获取xls中的数据,和之前剪贴板的数据对比def host(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)    if str(ss_ip[0]) not in host_ip:        win32api.MessageBox(0, f"暂无设备{ss_ip[0]}的信息", "未知设备", win32con.MB_OK)        sys.exit(0)    for k, item in enumerate(host_ip, start):        # print(k,item,ss_ip[0])        if str(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  def main():    ss_ip = getText()    one_ip = get_ip(ss_ip)    host(one_ip)  if __name__ == '__main__':    main()

测试效果:

Python如何实现查询剪贴板自动匹配信息

Python如何实现查询剪贴板自动匹配信息

打包资源生成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文件:

Python如何实现查询剪贴板自动匹配信息

修改前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如何实现查询剪贴板自动匹配信息”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯