我想知道 Python 代码是否可以像 Javascript 那样被压缩/非人类可读。我知道缩进在 Python 中很重要,它的核心理念是可读性,但是有没有一种方法可以压缩 Python 代码?顺便说一句,Python 2.7。
最佳答案
这里有几种不同的方法。
Python 实际上以 ;
的形式提供了缩小的机会。 python 中一个鲜为人知且很少使用(谢天谢地)的语法元素是,如果使用 ;
,则可以在一行上写多个表达式。
例如:
if x > y:
x += y
print y
else:
y += x
print x
可以压缩为:
if x>y:x+=y;print y;
else:y+=x;print x;
这方面的例子很多,您还可以删除注释,并使用三元运算符进一步混淆简单代码。 ;
去掉了大量的空格,但可以进行许多较小的优化。
有关为您执行此操作的库的一些示例,请参阅 here , here , 或 here .
请记住,这些都不会将您的代码完全混淆到无法恢复的地步。任何有足够动力的人都可以从中对您的源代码进行逆向工程,即使没有记录。
即使您只分发 .pyo
或 .pyc
文件,这仍然是正确的。 Python 字节码通常不会比用于生成它的源代码小很多,而且大部分都可以很容易地进行逆向工程。不要错误地认为分发 .pyc
将完全保护您的源代码。
编辑:如果您希望将它们打包为独立的二进制可执行文件,您可能需要查看 cx_Freeze .它可能更接近您正在寻找的东西,并且即使不是不可能进行逆向工程也更加困难。
关于python - Python 代码可以像 Javascript 一样被压缩吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19626474/