如何使用python实现构建变体?

问题描述 投票:2回答:1

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

#define PRODUCTION_BUILD
#define DEBUG_BUILD
...

是否有某种等价物我可以用来有条件地包含更大的python应用程序的组件?

python
1个回答
2
投票

Python没有像C / C ++这样的预处理器。它也没有真正的常数。按照惯例,您可以通过在全部大写字母中键入“常量”来定义它们

DEBUG_BUILD = True

但除了惯例之外的任何事情都不会阻止它被修改。如果您只需要两个变体(调试/生产),则可以使用

__debug__

喜欢

if __debug__:
  do something
else:
  do something else

在运行python脚本时,或者通过PYTHONOPTIMIZE环境变量,将根据optimize标志设置此变量。

使用__debug__的好处是,如果您尝试修改其值,它将抛出一个SyntaxError。

© www.soinside.com 2019 - 2024. All rights reserved.