如何将Python脚本打包成exe执行文件

Posted 克金森沐沐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将Python脚本打包成exe执行文件相关的知识,希望对你有一定的参考价值。

需求

一个教辅目录结构检查工具,目录结构是[书籍]-[章节]-[题目|答案]-[*.jpg],后台有个异步处理的服务,需要强依赖这个目录结构。

书籍解析是单独的pipeline,日志对用户不可见,这里用python写个工具给用户,方便他们检查目录结构,逻辑很简单,检查书籍下所有的章节是否只包含“题目”、“答案”两个文件夹,如果有其他文件或者目录结构不对,需要把异常的结构打印出来

代码实现

import os


def folder_check(path):
    print("================目录结构检查中=================")
    folders = os.listdir(path)
    success_files = []
    error_files = []
    for f in folders:
        chapter_path = os.path.join(path, f)
        if os.path.isdir(chapter_path):
            content_dir = os.listdir(chapter_path)
            has_error = False
            for sub_f in content_dir:
                if (sub_f != '题目') & (sub_f != '答案'):
                    error_files.append("================不合法的目录或文件:{}/{}".format(f, sub_f))
                    has_error = True

            if not has_error:
                success_files.append("================目录检查通过:{}".format(f))

    if len(error_files) < 1:
        print("……")
        for sf in success_files:
            print(sf)
        print("……")
        print("( ̄▽ ̄)恭喜你,您的{}个章节目录结构均已检查通过".format(len(success_files)))
    else:
        print("……")
        for ef in error_files:
            print(ef)
        print("……")
        print("(;′⌒`)很遗憾,您的文件目录结构有问题,请检查")


if __name__ == "__main__":
    # 这里从当前目录读取,打包好的exe直接放在书籍的目录里就可以直接执行了
    rootPath = r"./"
    folder_check(rootPath)
    input("Press Any Key to close")

打包exe执行文件

py脚本的执行是需要安装python解释器,但是一般用户安装这些操作繁琐(如果对方是你想要搭讪的女同事时,是不需要打包exe的),这时我们可以把python脚本打包成exe执行文件,双击即可运行。

安装pyinstaller

直接cmd执行如下命令,等待安装完成:

pip install pyinstaller

打包

直接执行脚本

pyinstaller -F -i insp.ico main.py -n '目录检查小工具'
182 INFO: PyInstaller: 4.2
182 INFO: Python: 3.9.2
182 INFO: Platform: Windows-10-10.0.19041-SP0
182 INFO: wrote C:\\Users\\xxx\\PycharmProjects\\pythonProject\\Ŀ¼▒▒▒С▒▒▒▒.spec
182 INFO: UPX is not available.
182 INFO: Extending PYTHONPATH with paths
…………
…………
C:\\Users\\xxxx\\PycharmProjects\\pythonProject\\dist\\Ŀ¼▒▒▒С▒▒▒▒.exe
8025 INFO: Building EXE from EXE-00.toc completed successfully.
  • F 代表直接覆盖原文件,这样每次打包都是最新的
  • i insp.ico 执行文件图标,icon下载地址:www.easyicon.net/
  • n 执行文件名称

执行效果

在这里插入图片描述
命令行的左上角就是我们指定的图标哦

以上是关于如何将Python脚本打包成exe执行文件的主要内容,如果未能解决你的问题,请参考以下文章

Python利用pyinstaller工具将py文件打包成.exe可执行文件

如何将Python写的代码打包成.exe可执行文件

如何将Python写的代码打包成.exe可执行文件

windows下如何将Python文件打包成.exe可执行文件

PyInstaller将python脚本打包成exe可执行程序

用PyInstaller把Python代码打包成单个独立的exe可执行文件