我想发布我的代码子集供外部使用。只有某些功能或方法应该被外部客户使用(甚至看到)。有没有办法在Python中做到这一点?
我想过将我要删除的代码包装在if __debug__:
中,然后创建一个带有 py_compile
或compileall
的 .pyc 文件,然后使用 uncompyle2
从新字节码重新创建源代码。__debug__
只是创建一个if False
条件,该条件被"编译器"剥离。我不知道如何将这些"编译器模块"与-O
选项一起使用。
我不知道是否有任何标准工具可以做到这一点,但是用适当编码的注释标记这些部分,然后通过脚本运行所有文件应该不会太难,该脚本输出一组新文件,省略这些注释之间的行。