如何从Python源代码中去除注释和文档字符串?
有没有一种程序,我可以这样运行:
py2py.py < orig.py > smaller.py
其中,orig.py 文件里包含了带注释和文档字符串的 Python 源代码,而 smaller.py 文件里则包含了相同的可运行源代码,但没有注释和文档字符串?
原本看起来像这样的代码:
#/usr/bin/python
"""Do something
blah blah...
"""
# Beware the frubnitz!
def foo(it):
"""Foo it!"""
print it # hmm?
最终会变成这样:
def foo(it):
print it
2 个回答
3
我推荐使用 minipy。最主要的原因是它能对源代码的抽象语法树进行很好的分析,这样生成的压缩代码就更准确。我发现更知名的 pyminifier 有时会生成一些代码错误,比如未定义的符号错误、错误理解的元组等等。而且,我用minipy压缩代码时,效果比pyminifier好几个百分点。minipy的一个小优点是,它的代码体积不到pyminifier的一半。因为minipy是一个独立的python文件,所以在管理和集成到构建流程中也更简单。
8
这个Python压缩工具看起来能满足你的需求。