python - Python:如何编写在不同环境中表现不同的脚本
问题描述
我正在编写一个 Python 脚本,我希望它的行为与我的 CLI 不同,而不是在生产环境中。这是我目前的方式:
testing = False # True
def run_test():
if testing == True:
print message
else:
alert_department(message)
但我不喜欢我的核心功能充斥着if/else
声明。
我应该使用什么更好的模式?
解决方案
这种特殊用途看起来像您想要logging
的基于环境的不同记录器配置。然后你就可以开心
log = logging.getLogger('some_scope')
# ...
log.warning('Something warning-worthy occurred')
并且您的配置确定它是否打印到控制台或是否调用自定义“警报部门”处理程序。
不过,总的来说,我建议不要让您的脚本在开发、测试和生产中表现(非常)不同,因为这会使调试变得困难。
推荐阅读
- ios - 在导航控制器中调整自定义 UIBarButtonItem 的大小
- firebase - 使用 Firebase 控制台发送 FCM 数据消息
- javascript - Vuex 提交仅提交响应中数组的最后一个值
- ruby-on-rails - Rails 更新方法在 Rails 5 中无法更新记录
- swift - 数组中的协议和关联类型
- java - JavaFX 似乎不适用于 IntellJ 和 MS/VS 代码中的 Java。未找到导入
- firebase - Firebase 部署问题。运行命令:npm --prefix $RESOURCE_DIR run lint
- java - 为什么 Java 不抱怨一个模棱两可的调用?
- r - 为什么这段代码会产生错误的 P 值?
- java - 如何在使用基于 Spring Cloud Stream Reactor 的处理程序时延长租用时间