5

我想从 Python 程序中删除 doc 字符串,但保留断言(和__debug__部分)。我一直在使用 -OO 标志生成 .pyo 文件,但根据删除断言和 doc 字符串的文档。

我正在使用 CPython 2.7。

澄清:我正在删除文档字符串作为一种廉价的混淆方法。管理层做出了这个决定,我认为这是否有用不在这个问题的范围内。

4

1 回答 1

3

你不能有一半-O。它删除了文档字符串和断言,这就是它的工作方式。断言通常写成可选的,也就是说,您可以在不影响程序行为的情况下删除它们。

如果我必须删除文档字符串并不理会其他所有内容,我会考虑编写一个工具来打开 .pyc 文件、解组内容、修改它们(通过删除文档字符串)并将它们重新打包为 .pyc 文件。但这可能是一个精致而脆弱的工具,如果它甚至可以这样做的话。

于 2012-07-16T00:07:28.560 回答