压缩Python
项目描述
pymini
Python压缩器。专为操作整个库而构建,支持跨文件的压缩。
安装
pip install pymini
用法
pymini [options] <file>
要压缩库,请使用以下选项以保留导入和使用库公共工具的能力。
pymini --keep-module-names --keep-global-variables <file>
比较
我们与以下进行比较
- pyminify - https://github.com/dflook/python-minifier
- pyminifier - https://github.com/liftoff/pyminifier
- mnfy - https://github.com/brettcannon/mnfy (不适用于Python >3.4)
要重复我们的结果,请运行以下设置。
pip install python-minifier
pip install setuptools==57.5.0 && pip install pyminifier # hack to get pyminifer to install
pip install mnfy # if you're running python3.4
pip install pymini # ours
然后,运行以下命令以获取来自pyminifer
存储库的示例文件sample/test.py
的压缩版本。
mkdir -p out
pyminify --rename-globals --remove-literal-statements sample/test.py > out/pyminify.py
pyminifier --obfuscate sample/test.py > out/pyminifier.py
python -m mnfy sample/test.py > out/mnfy.py
uglipy sample/test.py > out/pyminiest.py
然后,运行ls -lh out
。您应该看到以下内容。
total 24
-rw-r--r-- 1 alvinwan staff 414B Nov 25 01:22 pyminiest.py
-rw-r--r-- 1 alvinwan staff 602B Nov 25 01:19 pyminifier.py
-rw-r--r-- 1 alvinwan staff 490B Nov 25 01:18 pyminify.py
相比之下,原始文件大小为1355B;uglipy
实现了最小的文件大小,比pyminify
小16%,比pyminifier
小30%,将最佳可能的混淆文件大小减少从64%提高到71%。我们还可以测试来自pyminify
存储库的test2.py
。
-rw-r--r-- 1 alvinwan staff 914B Nov 25 02:09 pyminiest.py
-rw-r--r-- 1 alvinwan staff 1.4K Nov 25 01:32 pyminifier.py
-rw-r--r-- 1 alvinwan staff 977B Nov 25 01:32 pyminify.py
相比之下,原始文件大小为1990B。 uglipy
的文件大小比pyminify
小6%,比pyminifier
小34%,将最佳可能的混淆文件大小减少从51%提高到54%。
开发
使用以下命令从根目录运行测试
py.test --doctest-modules
项目详情
下载文件
下载适合您平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。
源代码分发
pymini-0.1.1.tar.gz (14.7 kB 查看哈希值)
构建分发
pymini-0.1.1-py3-none-any.whl (14.3 kB 查看哈希值)
关闭
pymini-0.1.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5c9ecdeba81964f9932037b511ee3663c2d6d3a4b38a0e574a8152dd6a29b0f8 |
|
MD5 | 2760e8f13a7bd5b10c69cce022af51e9 |
|
BLAKE2b-256 | d3bc877d784117ffd54fbd1b5fa12025303b60b3845ab649786e2dca5d0843c8 |
关闭
pymini-0.1.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 97afc32155ac06ade34625fa9d376f43acc4bf8e17b6dd4813bb114672eadf7e |
|
MD5 | 00d05522440d1799e71d53d209f3affd |
|
BLAKE2b-256 | 0db95a20c0aeb4e66af185f009628d82d87e40898e429f6fb41d5b60cfdfc7a8 |