首页 > 解决方案 > Python:如何编写在不同环境中表现不同的脚本

问题描述

我正在编写一个 Python 脚本,我希望它的行为与我的 CLI 不同,而不是在生产环境中。这是我目前的方式:

testing = False # True

def run_test():
    if testing == True:
        print message
    else:
        alert_department(message)

但我不喜欢我的核心功能充斥着if/else声明。

我应该使用什么更好的模式?

标签: python

解决方案


这种特殊用途看起来像您想要logging的基于环境的不同记录器配置。然后你就可以开心

log = logging.getLogger('some_scope')

# ...
log.warning('Something warning-worthy occurred')

并且您的配置确定它是否打印到控制台或是否调用自定义“警报部门”处理程序。

不过,总的来说,我建议不要让您的脚本在开发、测试和生产中表现(非常)不同,因为这会使调试变得困难。


推荐阅读