gpt4 book ai didi

Python实现查询剪贴板自动匹配信息的思路详解

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Python实现查询剪贴板自动匹配信息的思路详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

Python实现查询剪贴板自动匹配信息的思路详解

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
'''
功能作用:对比剪贴板类容
'''
 
import win32clipboard as w
import win32con
import xlrd
from tkinter import messagebox
import win32api, win32con
import pyperclip
import re
import sys
import 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实现查询剪贴板自动匹配信息的文章就介绍到这了,更多相关python查询剪贴板内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://blog.csdn.net/heian_99/article/details/118579426 。

最后此篇关于Python实现查询剪贴板自动匹配信息的思路详解的文章就讲到这里了,如果你想了解更多关于Python实现查询剪贴板自动匹配信息的思路详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com