需求

一个教辅目录结构检查工具,目录结构是[书籍]-[章节]-[题目|答案]-[*.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解释器,但是一般用户安装这些操作繁琐,这时我们可以把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下载地址:https://www.easyicon.net/

-n 执行文件名称

执行效果:



命令行的左上角就是我们指定的图标哦

Python脚本打包成exe执行文件的更多相关文章

  1. 【转载】将python脚本打包成exe文件

    exe文件也就是可以直接执行的文件.通常我们编好的带py后缀的脚本文件都是需要在有python的环境下执 行,每次通过Win + R打开运行窗口再输入powershell打开控制台,再千辛万苦地cd ...

  2. 使用fat jar和exe4j把java程序打包成exe执行文件---转载的

    java应用编写测试好之后都是jar包或class文件,客户拿到这个东西后一般是不会java开发者那样在命令窗口下面输入运行的.客户要求的就是直接点击应用名称运行.java在方面做得很不友好,开发人员 ...

  3. python脚本打包成exe可执行文件

    1. 工具pyinstaller (pip install pyinstaller) 2.生成exe (pyinstaller -F -w Capturing_PDFs.py) 参数 -F 生成单个文 ...

  4. windows环境下把Python代码打包成独立执行的exe

    windows环境下把Python代码打包成独立执行的exe可执行文件   有时候因为出差,突然急需处理一批数据.虽然写好的脚本存储在云端随用随取,然而编译的环境还需要重新搭建,模块也需要重新装载,从 ...

  5. 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片)

    解决 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片) 1.当我们写了一个Python的项目时,特别是一个GUI项目,我们特备希望它能成为一个在Windows系统可执行的EXE文件 ...

  6. 把Python项目打包成exe文件

    我们很多时候,写好的程序需要打包成.exe文件才可以发给客户,那么今天我就来谈一谈,如何将一个写好的Python程序打包成exe文件! 首先,我们我们使用到的工具是python 3.7 和 Pyins ...

  7. Python打包成exe,文件太大问题解决办法

    Python打包成exe,文件太大问题解决办法 原因 解决办法 具体步骤 情况一:初次打包 情况二:再次打包 原因 由于使用pyinstaller打包.py文件时,会把很多已安装的无关库同时打包进去, ...

  8. 将Python脚本封装成exe可执行文件 转

    将Python脚本封装成exe可执行文件 http://www.cnblogs.com/renzo/archive/2012/01/01/2309260.html  cx_freeze是用来将 Pyt ...

  9. Python 程序打包成 exe 可执行文件

    Python 程序打包工具 Python 是一个脚本语言,被解释器解释执行.它的发布方式: .py 文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装 Python 并且安装依赖 ...

随机推荐

  1. 如何在 macOS 上搭建 PHP 开发环境

    如何在 macOS 上搭建 PHP 开发环境 Linux, Nginx, MySQL, PHP $ php --version $ php -v # PHP 7.3.11 (cli) (built: ...

  2. full page screen capture in js

    full page screen capture in js html2canvas https://html2canvas.hertzen.com/ https://github.com/nikla ...

  3. py 使用win32 api

    http://timgolden.me.uk/pywin32-docs/contents.html https://docs.python.org/3/library/ctypes.html#ctyp ...

  4. NGK Global技术开源,开启跨链全生态

    消息显示,新兴公链项目NGK Global已经完成了自己的开源计划,基于自己创新性的跨链通讯交互方案,开源后的NGK Global将面向全生态节点,提供高效.自由.无边界的公链生态系统. 目前,大家对 ...

  5. NGK公链大事件盘点——回顾过去,展望未来!

    NGK公链构想广阔,愿景宏大,2020年10月NGK正式上线,同时NGK全球发布会正式启动,建立区块链生态体系. 早在这之前,NGK就经过了紧锣密鼓的数年缜密搭建. 2018年6月NGK底层系统技术原 ...

  6. 负利率时代,NGK DeFi是否会推动资本向加密货币迁徙?

    2020年,全球经济危机持续,贸易战争以及天灾人祸使得全球各国的经济雪上加霜,为了挽救低迷的经济,美国.欧洲.日本各国央行竞相放水,全球正在滑入负利率时代. 负利率下,资本加速从法币向数字货币迁徙,因 ...

  7. linux DRM 之 GEM 笔记

    原文链接:https://www.cnblogs.com/yaongtime/p/14418357.html 在GPU上的各类操作中涉及到多种.多个buffer的使用. 通常我们GPU是通过图像API ...

  8. 08_MySQL数据库的字段约束

    数据库的字段约束 实战: CREATE TABLE t_teacher ( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) N ...

  9. apiAutoTest:支持自定义函数,用例中可调用

    0. 前言 apiAutoTest从去年8月以来开源至今,也更新了不少内容,一起来看看吧 第一个版本 - 2020/08/08 增加实际响应存储数据的方法,并在字典可以处理依赖见tools/svae_ ...

  10. 安鸾渗透实战平台-PHP代码练习

    0x00 前言 --工欲善其事,必先利其器 0x01 代码理解 (1)linux命令 pwd 查看当前工作目录的完整路径 cd / 切换到根目录 ls / 查看根目录下的所有目录和文件 cat /[f ...