如何使用python实现构建变体



在C/C++应用程序中,我通过定义高级宏开发了一些轻微的构建变体

#define PRODUCTION_BUILD
#define DEBUG_BUILD
...

有没有什么等效的东西可以让我有条件地包含更大的python应用程序的组件?

Python没有像C/C++那样的预处理器。它也没有真正的常数。按照惯例,你可以像一样用大写字母来定义"常数"

DEBUG_BUILD = True

但除了惯例之外,没有什么能阻止它被修改。如果您只需要两种变体(调试/生产),则可以使用

__debug__

if __debug__:
  do something
else:
  do something else

该变量将根据运行python脚本时的优化标志或PYTHONOPTIMIZE环境变量进行设置。

使用__debug__的好处是,如果你试图修改它的值,它会抛出一个SyntaxError。

最新更新