如何从 python 源代码中删除注释和文档字符串? [关闭]

Posted

技术标签:

【中文标题】如何从 python 源代码中删除注释和文档字符串? [关闭]【英文标题】:How can I strip comments and doc strings from python source code? [closed] 【发布时间】:2010-12-09 22:36:05 【问题描述】:

有没有可以这样运行的程序:

py2py.py < orig.py > smaller.py

其中 orig.py 包含带有 cmets 和 doc 字符串的 python 源代码,smaller.py 包含相同的、可运行的源代码但没有 cmets 和 doc 字符串?

最初看起来像这样的代码:

#/usr/bin/python
"""Do something
blah blah...
"""

# Beware the frubnitz!
def foo(it):
    """Foo it!"""
    print it  # hmm?

然后看起来像这样:

def foo(it):
    print it

【问题讨论】:

【参考方案1】:

This Python minifier 看起来可以满足您的需求。

【讨论】:

优秀。 “缩小”是一个神奇的词。【参考方案2】:

我推荐minipy。最令人信服的原因是它对源代码抽象语法树进行了适当的分析,因此缩小的代码更加准确。我发现更广为人知的pyminifier 往往会生成带有未定义符号错误、错误解释的元组等的代码。我还使用 minipy 获得了好几个百分点的压缩结果。 minipy 的一个小好处是它的代码大小不到 pyminifier 的一半。它也更容易管理和集成到构建管道中,因为它是一个独立的 Python 文件。

【讨论】:

赞成,但请注意 minipy 仅支持 Python 2。 @JohnMcGehee 通过一些微不足道的更改,我能够解决最明显的 python 2-isms,它现在支持我正在缩小的 python 3 代码。这是更改:github.com/kanaka/minipy/commit/…

以上是关于如何从 python 源代码中删除注释和文档字符串? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Python 脚本中删除所有注释?

是否有用于注释 C# 代码的标准(如 phpdoc 或 python 的文档字符串)?

SQL/Regex Challenge/Puzzle:如何从 SQL 代码中删除注释(通过使用 SQL 查询)?

Java代码如何清空TXT文档

Python 如何写好注释与文档字符串o(* ̄▽ ̄*)ブ

Python 如何写好注释与文档字符串o(* ̄▽ ̄*)ブ