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  
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 + 1 def main(): ss_ip = getText() one_ip = get_ip(ss_ip) host(one_ip) if __name__ == '__main__': main()
테스트 효과:


패키지 자원 생 성 exe
Python 포장.exe 방법 은 크게 네 가지 가 있 습 니 다:py2exe,pyinstaller,cxFreeze 와 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 에 추가 하고 실행 할 때 0 파일 의 루트 디 렉 터 리 에 놓 습 니 다.이름 은 res 입 니 다.
.exe 파일 및 기타 관련 파일 생 성
이제 우 리 는 안심 하고.exe 파일 을 만 들 수 있 습 니 다.cmd 명령 실행
pyinstaller -F beloved.spec
.exe 파일 은 하위 파일 dict 에서 생 성 됩 니 다.여기 서.exe 를 다른 컴퓨터 에 보 내 서 실행 할 수 있 습 니 다.exe 실행 이 느 리 므 로 기다 리 는 것 을 권장 합 니 다.오류 알림 이 없 으 면 OK 입 니 다.
참고 주소:https://blog.csdn.net/qq_44685030/article/details/105096338
파 이 썬 이 클립보드 에 자동 으로 일치 하 는 정 보 를 조회 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 파 이 썬 조회 클립보드 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기