首页 > 解决方案 > Python 3 无法识别布尔条件

问题描述

我正在将 python2 代码迁移到 python3,并且了解到在 python3 中更严格的调用参数处理存在一些细微差别。相同的代码用于确定条件布尔值是否启用了功能floatclock_enabled。在代码中添加几行日志打印行后,我能够确认第一行代码始终解析为True,即使我在测试之前和之后记录了字符串。打印结果都是False,但它True在流程中运行。

    if ss.floatclock_enabled: 

对我来说它看起来像一个错误,我解决它的方法是以下行。

    if str(ss.floatclock_enabled) == 'True':

任何可能导致此异常的建议?_enabled到目前为止,我的其他变量工作正常。

标签: python

解决方案


非常感谢您的快速回复。经过进一步分析,我发现在我configparser使用的加载项的长列表中,config.get而不是config.getboolean. 由于我的初始加载使用了布尔获取,所以我认为在我仔细检查我的代码之前它并不重要。再次,我感谢快速响应和建议。下次发帖前,我会仔细检查!


推荐阅读