我想从Python程序中删除doc字符串,但保留asserts(和__debug__
部分)。我一直在使用-OO标志生成.pyo文件但是根据the documentation删除断言和doc字符串。
我正在使用CPython 2.7。
澄清:我正在删除文档字符串作为一种廉价的混淆方法。管理层做出了这个决定,我认为这是否有用是超出了这个问题的范围。
答案 0 :(得分:3)
你不能拥有-O
的一半。它删除了文档字符串和断言,这就是它的工作方式。断言通常被编写为可选的,也就是说,您可以删除它们而不会影响程序的行为。
如果我必须删除文档字符串并将所有其他内容单独删除,我会考虑编写一个打开.pyc文件的工具,解组内容,修改它们(通过删除文档字符串),并将它们重新打包为.pyc文件。但如果它甚至可以这样做的话,这可能是一个微妙而脆弱的工具。