婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python實現查詢剪貼板自動匹配信息的思路詳解

Python實現查詢剪貼板自動匹配信息的思路詳解

熱門標簽:長春極信防封電銷卡批發 電銷機器人錄音要學習什么 銀川電話機器人電話 企業彩鈴地圖標注 如何地圖標注公司 煙臺電話外呼營銷系統 預覽式外呼系統 上海正規的外呼系統最新報價 外賣地址有什么地圖標注

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

通俗點思路:點擊exe,Python 自動監控剪貼板的內容,然后正則取出IP,接著根據IP對比業務文檔,獲取相應的信息,然后把查詢出來的內容,彈出提示,把查詢出的內容寫入剪貼板。

'''
功能作用:對比剪貼板類容
'''
 
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()

測試效果:

打包資源生成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實現查詢剪貼板自動匹配信息的思路詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 乐亭县| 鞍山市| 全南县| 万安县| 兴宁市| 临武县| 辽源市| 东丰县| 磐安县| 周至县| 蓬安县| 南乐县| 通渭县| 桓仁| 德化县| 田林县| 稷山县| 八宿县| 南宁市| 南投县| 淳安县| 象州县| 蛟河市| 台山市| 甘德县| 五常市| 金湖县| 泸州市| 千阳县| 九龙县| 那曲县| 边坝县| 郴州市| 库伦旗| 隆尧县| 周宁县| 海兴县| 云安县| 西藏| 扎鲁特旗| 炎陵县|