首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python实现py打包exe小工具

写的python代码,有时候需要进行打包操作,但是又不记得打包指令,为此捣鼓一个打包的小工具,方便快速打包py文件(小工具还可以继续优化,比如加密、反编译等)。需要的小伙伴可以自行下载尝试。

直接上代码

py2exe.py

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @Time    : 2021-10-10 14:05

# @Author  : ARM

# @Site    :

# @File    : py2exe.py

# @Software: PyCharm

importpy2exe_ui

importsys

fromPyQt5.QtWidgetsimportQApplication,QMainWindow,QMessageBox

importos

frompathlibimportPureWindowsPath

defdabao():

"""执行打包操作"""

fullpath = ui.fileT.text()

f = PureWindowsPath(fullpath)

filedir = fullpath.replace(f.name,"")

ifui.checkBox.isChecked() ==True:

"       ""判断是否"""

second = os.system("cd "+ filedir +"&&pyinstaller -F --clean -w "+ fullpath)

ifsecond ==:

QMessageBox.about(mainWindow,"执行结果","恭喜!成功打包exe")

else:

QMessageBox.about(mainWindow,"执行结果","请选择py文件路径")

else:

second = os.system("cd "+ filedir +"&&pyinstaller -F --clean "+ fullpath)

ifsecond ==:

QMessageBox.about(mainWindow,"执行结果","恭喜,成功打包exe")

else:

QMessageBox.about(mainWindow,"执行结果","请选择py文件路径")

if__name__=="__main__":

app = QApplication(sys.argv)

#创建一个窗口

mainWindow = QMainWindow()

ui = py2exe_ui.Ui_MainWindow()

ui.setupUi(mainWindow)

ui.pushButton_2.clicked.connect(dabao)

mainWindow.show()

sys.exit(app.exec_())

py2exe_ui.py

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @Time    : 2021-10-10 14:05

# @Author  : ARM

# @Site    :

# @File    : py2exe_ui.py

# @Software: PyCharm

fromPyQt5importQtCore,QtGui,QtWidgets

fromPyQt5.QtWidgetsimportQFileDialog

classUi_MainWindow(object):

defsetupUi(self,MainWindow):

MainWindow.setObjectName("MainWindow")

MainWindow.resize(648,321)

self.centralwidget = QtWidgets.QWidget(MainWindow)

self.centralwidget.setObjectName("centralwidget")

#设置按键参数

self.file = QtWidgets.QPushButton(self.centralwidget)

self.file.setGeometry(QtCore.QRect(70,20,101,31))

self.file.setObjectName("file")

self.file.setStyleSheet("background-color:rgb(111,180,219)")

#设置显示窗口参数

self.fileT = QtWidgets.QLineEdit(self.centralwidget)

self.fileT.setGeometry(QtCore.QRect(180,20,381,31))

self.fileT.setObjectName("file")

#是否隐藏

self.checkBox = QtWidgets.QCheckBox(self.centralwidget)

self.checkBox.setGeometry(QtCore.QRect(80,120,241,21))

self.checkBox.setObjectName("checkBox")

#打包按钮

self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)

self.pushButton_2.setGeometry(QtCore.QRect(230,160,271,31))

self.pushButton_2.setObjectName("pushButton_2")

# exe存放路径描述

self.label_3 = QtWidgets.QLabel(self.centralwidget)

self.label_3.setGeometry(QtCore.QRect(80,140,241,21))

self.label_3.setObjectName("label_3")

font = QtGui.QFont()

font.setPointSize(15)

# self.label_3.setFont(font) #跟随系统字体

#页面布局

MainWindow.setCentralWidget(self.centralwidget)

self.menubar = QtWidgets.QMenuBar(MainWindow)

self.menubar.setGeometry(QtCore.QRect(,,650,23))

self.menubar.setObjectName("menubar")

MainWindow.setMenuBar(self.menubar)

self.statusbar = QtWidgets.QStatusBar(MainWindow)

self.statusbar.setObjectName("statusbar")

MainWindow.setStatusBar(self.statusbar)

self.retranslateUi(MainWindow)

QtCore.QMetaObject.connectSlotsByName(MainWindow)

################button按钮点击事件回调函数################

self.file.clicked.connect(self.msg)#选择py文件

# self.file_exe.clicked.connect(self.openimage) #选择图片

defretranslateUi(self,MainWindow):

_translate = QtCore.QCoreApplication.translate

MainWindow.setWindowTitle(_translate("MainWindow","py2exe by test"))

self.file.setText(_translate("MainWindow","选择py文件"))

self.fileT.setText(_translate("MainWindow",""))

self.checkBox.setText(_translate("MainWindow","启动exe程序时是否隐藏cmd窗口"))

self.pushButton_2.setText(_translate("MainWindow","开始打包"))

# self.file_exe.setText(_translate("MainWindow", "选择exe文件"))

# self.fileT_exe.setText(_translate("MainWindow", ""))

self.label_3.setText(_translate("MainWindow","注:exe保存路径为源文件所在文件!"))

defmsg(self,Filepath):

"""选择文件路径"""

get_filename_path,ok = QFileDialog.getOpenFileName(None,"选取单个文件","C:/","All Files (*);;Text Files (*.txt)")

ifok:

self.fileT.setText(str(get_filename_path))

# def openimage(self, Filepath):

# """选择图片路径"""

# imgName, imgType = QFileDialog.getOpenFileName(None, "打开图片", "", "*.jpg;;*.png;;All Files(*)")

# # jpg = QtGui.QPixmap(imgName).scaled(self.fileT_exe.width(), self.fileT_exe.height())

# self.fileT_exe.setText(imgName)

最终实现效果:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20211014A05NCS00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券