跳转到主要内容

压缩Python

项目描述

pymini

Python压缩器。专为操作整个库而构建,支持跨文件的压缩。

安装

pip install pymini

用法

pymini [options] <file>

要压缩库,请使用以下选项以保留导入和使用库公共工具的能力。

pymini --keep-module-names --keep-global-variables <file>

比较

我们与以下进行比较

要重复我们的结果,请运行以下设置。

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 查看哈希值)

上传时间 Python 3

支持

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF赞助商 PingdomPingdom 监控 SentrySentry 错误记录 StatusPageStatusPage 状态页面