首页 > 编程语言 >python代码压缩

python代码压缩

时间:2023-11-19 20:34:49浏览次数:38  
标签:target python 压缩 source file path root 代码

python代码压缩

使用 python-minifier 库压缩 python 文件大小,同时混淆代码。安装库:pip install python-minifier,对于单个文件或整个项目都可以直接使用命令压缩。

使用 python-minifier 压缩 pydantic 的模型时会有问题,暂时过滤掉对应文件,因此写了一个脚本来压缩整个项目到另一个目录。

import os
import shutil

import python_minifier


def minify_python_files(source_dir: str, target_dir: str):
    for root, _, files in os.walk(source_dir):
        if '__pycache__' not in root:
            # 过滤 pyc 文件
            for file in files:
                source_file_path = os.path.join(root, file)
                target_root = root.replace(source_dir, target_dir, 1)
                if not os.path.exists(target_root):
                    os.makedirs(target_root)
                target_file_path = os.path.join(target_root, file)
                if file.endswith('.py') and file not in ['schemas.py',]:
                    print(file)
                    with open(source_file_path, 'r') as rf:
                        res = python_minifier.minify(rf.read())
                    with open(target_file_path, 'w') as wf:
                        wf.write(res)
                else:
                    shutil.copy(source_file_path, target_file_path)


minify_python_files('./project', './mini_project')

标签:target,python,压缩,source,file,path,root,代码
From: https://www.cnblogs.com/shouwangrenjian/p/17842580.html

相关文章

  • 代码随想录算法训练营第十天 | ●28. 实现 strStr() ●459.重复的子字符串 ●字符串
    今日学习的文章链接和视频链接https://programmercarl.com/字符串总结.html#什么是字符串https://programmercarl.com/双指针总结.html#数组篇●28.实现strStr()varstrStr=function(haystack,needle){if(needle.length===0)return0;const......
  • Windows部署Python环境
    下载Python解释器进入Python官网。在Downloads下,选择Windows。找到自己需要的Python版本,点击进行下载。双击运行Python解释器安装包。选中Addpython.exetoPATH,然后单击Customizeinstallation进行自定义安装。注意,一定要选择Addpython.exetoPATH将python命令加......
  • 【3.0】Python中级之深浅拷贝
    【一】深浅拷贝问题引入无论深拷贝还是浅拷贝都是用来复制对象的如果是浅copy,只会复制一层,如果copy的对象中有可变数据类型,修改可变数据类型还会影响拷贝的对象如果是深copy,完整复制,无论可变或不可变,都是创建出新的来,以后再改原对象,都不会对copy出的对象造成影响在Py......
  • Linux部署Python环境
    本文使用的Linux发行版本为AlmaLinux9.264位(CentOS停止更新后的完美替代发行版本)。本文安装的Python版本为3.12.0,其他版本方法类似。准备工作更新系统。dnf-yupdate安装Python前,需确认当前系统是否已安装Python以及对应版本。不建议卸载原有Python版本,可能被应用......
  • 【5.0】Python中级之文件操作
    【一】文本处理引入应用程序运行过程中产生的数据最先都是存放于内存中的若想永久保存下来,必须要保存于硬盘中。应用程序若想操作硬件必须通过操作系统而文件就是操作系统提供给应用程序来操作硬盘的虚拟概念用户或应用程序对文件的操作,就是向操作系统发起调用,然后由操作系统......
  • 【4.0】Python中级之字符编码
    【一】文本编辑器与Python解释器原理字符串类型、文本文件的内容都是由字符组成的,但凡涉及到字符的存取,都需要考虑字符编码的问题。【1】数据存放位置所有软件都是运行硬件之上的与运行软件相关的三大核心硬件为cpu、内存、硬盘软件运行前,软件的代码及其相关数据都......
  • 【6.0】Python中级之异常处理
    【一】什么是异常异常是程序运行时可能发生的错误或意外情况。在Python中,异常是一种对象,表示程序执行期间发生的错误。当出现异常时,程序的正常流程会被中断,而是跳转到异常处理流程。【二】异常分类在Python中,异常分为两类:内建异常(Built-inExceptions):由Python内部定义......
  • 大白话说Python+Flask入门(三)
    写在前面今天状态很不好,我发现学这部分知识的时候,会出现溜号或者注意力无法集中的情况。我能想到的是,大概率是这部分知识,应该是超出了我现在的水平了,也就是说我存在知识断层了,整体感觉真的是一知半解。那有同学会问了,那你能说明白吗?我理解的肯定能呀,来往下看!Flask的使用1、......
  • 建设招商农业邮政工商一体化模拟器,回执单转账余额截图都可以,JAVA模拟代码!
    闲着用JAVA研究了一个模拟器,但是我加了水印的,这个你做不了啥坏事,主要就是学习一下我写的代码和代码的实现逻辑,包括“主类和模块”还有“截图生成模块”以及“信息的输入和处理”三大模块,说复杂不复杂,说简单也不简单,下面框架图是网上找的,需要和代码相互结合才能实现具体的效果。UI......
  • 10个令人惊叹的Go语言技巧,让你的代码更加优雅
    10个令人惊叹的Go语言技巧,让你的代码更加优雅原创 TimLiu 爱发白日梦的后端 2023-11-1808:50 发表于广东收录于合集#go95个爱发白日梦的后端专注Go语言领域的发展,学习成为更牛逼的架构师,日常分享Go语言、架构、软件工具的使用。129篇原创内容公众......