목차
3. 코드 구현
4. Python 프로그램을 패키징하여 exe
5.exe 파일이 너무 클 수 있는 문제 해결
配置虚拟环境
安装虚拟环境依赖包
创建虚拟环境命令
백엔드 개발 파이썬 튜토리얼 너무 강해! Python은 데스크탑 가젯을 개발하고 코드가 우리를 위해 반복적인 작업을 수행하도록 해줍니다!

너무 강해! Python은 데스크탑 가젯을 개발하고 코드가 우리를 위해 반복적인 작업을 수행하도록 해줍니다!

May 06, 2023 am 11:10 AM
python 도구 암호

太强了!Python 开发桌面小工具,让代码替我们干重复的工作!

이 글을 쓰기로 결정한 원래 의도는 "Python을 사용하여 데이터 소스를 기반으로 피벗 테이블을 자동으로 생성하는 방법"에 대한 친구의 질문에서 나왔습니다. 이 문제 뒤에는 아주 좋은 해결책 아이디어가 있습니다. , 코드가 대신 수행하도록 하세요. 반복적인 작업을 수행하여 작업량을 줄이고 오류를 줄입니다.

Python에서 개발한 가젯은 실제로 Python 프로그램을 exe로 패키징하여 공유 후 사용할 수 있습니다. 컴퓨터에 Python 환경이 설치되어 있지 않아도 작업 효율성을 높이고 초과 근무를 최소화하는 데 사용할 수 있습니다.

太强了!Python 开发桌面小工具,让代码替我们干重复的工作!

콘텐츠 개요

  • 명확한 요구 사항: 자동으로 피벗 테이블 생성 [이 부분은 반복 작업으로 대체 가능]
  • 타사 종속 라이브러리 설치: tkinter 및 pyinstaller
  • 코드 구현: 포함 두 부분으로 Python이 피벗 테이블과 데스크톱 GUI 연결 디자인을 생성합니다
  • Python 프로그램을 패키지하여 exe 실행 파일을 생성합니다
  • exe 파일이 너무 클 수 있는 문제 해결: 가상 환경 설치

1 요구 사항 배경

작업을 반복적으로 수행하고 공급업체 이름, 월, 입고 금액의 세 가지 필드를 사용하여 원하는 피벗 테이블 형식을 생성합니다.

太强了!Python 开发桌面小工具,让代码替我们干重复的工作!

2. 타사 종속 라이브러리 설치

데스크톱 창을 만듭니다. 여기서는 Python의 자체 GUI 라이브러리이며 설치 후 사용할 수 있습니다.

pip install tkinter
로그인 후 복사

pyinsatller를 사용하여 프로그램을 exe로 패키징하세요. 장점은 코드를 서버에 배포할 필요가 없고 패키징된 exe를 상대방에게 직접 보낼 수 있다는 점입니다. 이 작고 가벼운 기능에 적합합니다.

pip install pyinstaller
로그인 후 복사

3. 코드 구현

피벗 테이블 및 필터 데이터를 생성하는 Excel 파일, 파일 이름: excel_to_pivot.py

import pandas as pd
import numpy as np
class ExcelToPivot(object):
 def __init__(self, filename, file_path):
 self.file_name = filename
 self.file_path = file_path
 """
 excel自动转透视表功能
 返回透视结果
 """
 def excel_Pivot(self):
 print(self.file_path)
 data = pd.read_excel(self.file_path)
 data_pivot_table = pd.pivot_table(data, index=['供应商名称', '月份'], values=["入库金额"], aggfunc=np.sum)
 return data_pivot_table
 """
 按条件筛选,并保存
 """
 def select_data(self, name, month):
 data_pivot_table = self.excel_Pivot()
 data_new = data_pivot_table.query('供应商名称 == ["{}"] & 月份 == {}'.format(name, month))
 data_new.to_excel('{}.xlsx'.format(str(self.file_name).split('.')[0]))
 return '筛选完成!'
if __name__ == '__main__':
 filename = input("请输入文件名字:")
 path = 'C:/Users/cherich/Desktop/' + filename
 pross = ExcelToPivot(filename, path)
 print(pross.select_data("C", 4))
로그인 후 복사

太强了!Python 开发桌面小工具,让代码替我们干重复的工作!

디자인 데스크톱 창 기능, 파일 이름: Operation.py

from tkinter import Tk, Entry, Button, mainloop
import tkinter.filedialog
import excel_to_pivot
from tkinter import messagebox
from tkinter import ttk
def Upload():
 global filename, data_pivot_table
 try:
 filename = tkinter.filedialog.askopenfilename(title='选择文件')
 pross = excel_to_pivot.ExcelToPivot(str(filename).split('/')[-1], filename)
 data_pivot_table = pross.excel_Pivot()
 messagebox.showinfo('Info', '转换成功!')
 except Exception as e:
 print(e)
 messagebox.showinfo('Info', '转换失败!')
def select(name, month):
 try:
 print('供应商名称 == ["{}"] & 月份 == {}'.format(name, month))
 data_new = data_pivot_table.query('供应商名称 == ["{}"] & 月份 == {}'.format(name, month))
 data_new.to_excel('{}.xlsx'.format(str(filename).split('.')[0]))
 messagebox.showinfo('Info', '筛选完成并生成文件!')
 root.destroy()
 except Exception as e:
 print(e)
 messagebox.showinfo('Info', '筛选失败!')
root = Tk()
root.config(background="#6fb765")
root.title('自动转透视表小工具')
root.geometry('500x250')
e1 = Entry(root, width=30)
e1.grid(row=2, column=0)
btn1 = Button(root, text=' 上传文件 ', command=Upload).grid(row=2, column=10, pady=5)
box1 = ttk.Combobox(root)
# 使用 grid() 来控制控件的位置
box1.grid(row=5, sticky="NW")
# 设置下拉菜单中的值
box1['value'] = ('A', 'B', 'C', 'D', '供应商')
# 通过 current() 设置下拉菜单选项的默认值
box1.current(4)
box2 = ttk.Combobox(root)
box2.grid(row=5, column=1, sticky="NW")
box2['value'] = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, '月份')
box2.current(12)
# 编写回调函数,绑定执行事件
def func(event):
 global b1, b2
 b1 = box1.get()
 b2 = box2.get()
# 绑定下拉菜单事件
box1.bind("<<ComboboxSelected>>", func)
box2.bind("<<ComboboxSelected>>", func)
btn2 = Button(root, text=' 筛选数据 ', command=lambda: select(b1, b2)).grid(row=30, column=10, pady=5)
mainloop()
로그인 후 복사

太强了!Python 开发桌面小工具,让代码替我们干重复的工作!

실행 결과가 위와 같으면 코드에 문제가 없으며 다음 단계로 진행할 수 있음을 나타냅니다.

4. Python 프로그램을 패키징하여 exe

DOS 창을 열고 두 개의 py 파일이 있는 디렉터리로 전환합니다. 경로에 중국어 문자가 포함되지 않도록 주의하세요.

pyinsatller -F -w opration.py
로그인 후 복사

太强了!Python 开发桌面小工具,让代码替我们干重复的工作!

pyinstaller 명령의 일반적인 선택적 매개변수:

  • -i 응용 프로그램에 아이콘을 추가합니다.
  • -F 패키징 후 exe 형식 파일만 생성되도록 지정합니다.
  • -D –onedir exe 파일을 포함하는 디렉토리를 생성하지만 많은 파일에 따라 달라집니다(기본 옵션)
  • -c –console, –nowindowed 콘솔 사용, 인터페이스 없음(기본값)
  • -w –windowed, –noconsole 창 사용, no console
  • -p 검색 경로 추가

太强了!Python 开发桌面小工具,让代码替我们干重复的工作!

太强了!Python 开发桌面小工具,让代码替我们干重复的工作!

현재 디렉터리에 build 및 dist라는 두 개의 폴더가 생성됩니다. Dist에는 모든 실행 가능한 exe 파일이 포함되어 있습니다. 바로가기를 바탕화면으로 보내고 opration.exe를 클릭하여 실행하세요.

5.exe 파일이 너무 클 수 있는 문제 해결

일부 파트너는 Python 환경을 설치한 지 얼마 되지 않았는데, 파일이 너무 크다는 문제는 존재하지 않을 수도 있습니다. 예를 들어, 내 컴퓨터에 Python 종속성 패키지와 아나콘다가 많이 설치되어 있는데, 실제로 패키지 파일이 660M인데, 패키지하는 데 시간이 오래 걸리고 나중에 수정 후에는 31M로 줄었습니다. 빠르고 몇 초 안에 실행될 수 있습니다. 해결 방법은 Windows 시스템에 Python 가상 환경을 설치하는 것입니다. 다음 작업은 Python이 컴퓨터에 설치된 경우에만 수행할 수 있습니다.

太强了!Python 开发桌面小工具,让代码替我们干重复的工作!

找到 Python 所在路径,如果忘记了,可以在电脑左下角搜索【编辑系统环境变量】——【用户变量】——【PATH】中找到

太强了!Python 开发桌面小工具,让代码替我们干重复的工作!

太强了!Python 开发桌面小工具,让代码替我们干重复的工作!

配置虚拟环境

虚拟环境可以理解为是 Python 解释器的一个副本,在这个环境你可以安装私有包,而且不会影响系统中安装的全局 Python 解释器。虚拟环境非常有用,可以在系统的 Python 解释器中避免包的混乱和版本的冲突。

重要是不同虚拟环境可以搭建不同的 Python 版本,创建时候选择,我们这里需要一个相对 "干净" 的 Python 环境,没有安装过多依赖包,避免 exe 打包文件过大,所以用到虚拟环境。

安装虚拟环境依赖包

pip install virtualenv
pip install virtualenvwrapper-win
로그인 후 복사

创建虚拟环境命令

mkvirtualenv -p="C:UserscherichAppDataLocalProgramsPythonPython38python.exe" py38
로그인 후 복사

进入虚拟环境,可以看到只有几个默认的 Python 库

太强了!Python 开发桌面小工具,让代码替我们干重复的工作!

这时可以测试一下代码,是否缺少相关依赖,比如我这个缺少 Pandas,openpyxl,依次按照 pip install 包名安装即可,非常重要的点:pyinstaller 必须重新安装,文件才会缩小。

太强了!Python 开发桌面小工具,让代码替我们干重复的工作!

上述操作完成后,打包就可以了,最后退出虚拟环境即可。

太强了!Python 开发桌面小工具,让代码替我们干重复的工作!

退出虚拟环境

deactivate
로그인 후 복사

太强了!Python 开发桌面小工具,让代码替我们干重复的工作!

위 내용은 너무 강해! Python은 데스크탑 가젯을 개발하고 코드가 우리를 위해 반복적인 작업을 수행하도록 해줍니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

메모리에 대한 Redis 지속성의 영향은 무엇입니까? 메모리에 대한 Redis 지속성의 영향은 무엇입니까? Apr 10, 2025 pm 02:15 PM

Redis Persistence는 추가 메모리를 차지하고 RDB는 스냅 샷을 생성 할 때 메모리 사용량을 일시적으로 증가시키고 AOF는 로그를 추가 할 때 계속 메모리를 차지합니다. 영향 요인에는 데이터 볼륨, 지속성 정책 및 Redis 구성이 포함됩니다. 영향을 완화하려면 RDB 스냅 샷 정책을 합리적으로 구성하고 구성 최적화, 하드웨어 업그레이드 및 메모리 사용을 모니터링 할 수 있습니다. 또한 성능과 데이터 보안 사이의 균형을 찾는 것이 중요합니다.

2 시간의 파이썬 계획 : 현실적인 접근 2 시간의 파이썬 계획 : 현실적인 접근 Apr 11, 2025 am 12:04 AM

2 시간 이내에 Python의 기본 프로그래밍 개념과 기술을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우기, 2. 마스터 제어 흐름 (조건부 명세서 및 루프), 3. 기능의 정의 및 사용을 이해하십시오. 4. 간단한 예제 및 코드 스 니펫을 통해 Python 프로그래밍을 신속하게 시작하십시오.

비즈니스 요구에 따라 Redis 메모리 크기를 설정하는 방법은 무엇입니까? 비즈니스 요구에 따라 Redis 메모리 크기를 설정하는 방법은 무엇입니까? Apr 10, 2025 pm 02:18 PM

Redis 메모리 크기 설정은 다음 요소를 고려해야합니다. 데이터 볼륨 및 성장 추세 : 저장된 데이터의 크기 및 성장 속도를 추정하십시오. 데이터 유형 : 다른 유형 (예 : 목록, 해시)은 다른 메모리를 차지합니다. 캐싱 정책 : 전체 캐시, 부분 캐시 및 단계 정책은 메모리 사용에 영향을 미칩니다. 비즈니스 피크 : 트래픽 피크를 처리하기에 충분한 메모리를 남겨 두십시오.

phpmyadmin 취약성 요약 phpmyadmin 취약성 요약 Apr 10, 2025 pm 10:24 PM

Phpmyadmin 보안 방어 전략의 핵심은 다음과 같습니다. 1. Phpmyadmin의 최신 버전을 사용하고 정기적으로 PHP 및 MySQL을 업데이트합니다. 2. 액세스 권한을 엄격하게 제어하고, .htaccess 또는 웹 서버 액세스 제어 사용; 3. 강력한 비밀번호와 2 단계 인증을 활성화합니다. 4. 데이터베이스를 정기적으로 백업하십시오. 5. 민감한 정보를 노출하지 않도록 구성 파일을주의 깊게 확인하십시오. 6. WAF (Web Application Firewall) 사용; 7. 보안 감사를 수행하십시오. 이러한 조치는 부적절한 구성, 이전 버전 또는 환경 보안 위험으로 인해 PhpmyAdmin으로 인한 보안 위험을 효과적으로 줄이고 데이터베이스의 보안을 보장 할 수 있습니다.

Redis 메모리 사용이 너무 높으면 어떻게해야합니까? Redis 메모리 사용이 너무 높으면 어떻게해야합니까? Apr 10, 2025 pm 02:21 PM

Redis 메모리 급등에는 너무 큰 데이터 볼륨, 부적절한 데이터 구조 선택, 구성 문제 (예 : MaxMemory 설정이 너무 작은) 및 메모리 누출이 포함됩니다. 솔루션에는 만료 된 데이터 삭제, 압축 기술 사용, 적절한 구조 선택, 구성 매개 변수 조정, 코드의 메모리 누출 확인 및 메모리 사용을 정기적으로 모니터링합니다.

Redis에서 키의 값을 보는 방법 Redis에서 키의 값을 보는 방법 Apr 10, 2025 pm 03:12 PM

Redis에서 키 값을 보는 방법 : Redis 명령 줄 도구 사용 : get & lt; key & gt; redis 데스크탑 관리자 사용 : "키"탭에서 키를 찾아서 "값"열을보기 Python Client : R.Get ( 'key') Node.js Client : Client.get ( 'key', err, value) = & gt;

Redis로 서버를 시작하는 방법 Redis로 서버를 시작하는 방법 Apr 10, 2025 pm 08:12 PM

Redis 서버를 시작하는 단계에는 다음이 포함됩니다. 운영 체제에 따라 Redis 설치. Redis-Server (Linux/MacOS) 또는 Redis-Server.exe (Windows)를 통해 Redis 서비스를 시작하십시오. Redis-Cli Ping (Linux/MacOS) 또는 Redis-Cli.exe Ping (Windows) 명령을 사용하여 서비스 상태를 확인하십시오. Redis-Cli, Python 또는 Node.js와 같은 Redis 클라이언트를 사용하여 서버에 액세스하십시오.

Oracle 데이터베이스 작성 방법 Oracle 데이터베이스 작성 방법 Oracle 데이터베이스 작성 방법 Oracle 데이터베이스 작성 방법 Apr 11, 2025 pm 02:33 PM

Oracle 데이터베이스를 만드는 것은 쉽지 않으므로 기본 메커니즘을 이해해야합니다. 1. 데이터베이스 및 Oracle DBMS의 개념을 이해해야합니다. 2. SID, CDB (컨테이너 데이터베이스), PDB (Pluggable Database)와 같은 핵심 개념을 마스터합니다. 3. SQL*Plus를 사용하여 CDB를 생성 한 다음 PDB를 만들려면 크기, 데이터 파일 수 및 경로와 같은 매개 변수를 지정해야합니다. 4. 고급 응용 프로그램은 문자 세트, 메모리 및 기타 매개 변수를 조정하고 성능 튜닝을 수행해야합니다. 5. 디스크 공간, 권한 및 매개 변수 설정에주의를 기울이고 데이터베이스 성능을 지속적으로 모니터링하고 최적화하십시오. 그것을 능숙하게 마스터 함으로써만 지속적인 연습이 필요합니다. Oracle 데이터베이스의 생성 및 관리를 진정으로 이해할 수 있습니다.

See all articles