如何从Python源代码中去除注释和文档字符串?

6 投票
2 回答
4311 浏览
提问于 2025-04-15 15:22

有没有一种程序,我可以这样运行:

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压缩工具看起来能满足你的需求。

撰写回答