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