遇到问题--python---传入参数false不生效--str和bool的转换

69 篇文章 16 订阅
项目中,通过环境变量传入`run_type=false`,但程序执行时未按预期进入`false`分支。原因可能是字符串类型的`false`被识别为`True`。使用`bool(run_type)`转换时,由于bool()方法会将非空字符串视为`True`,问题依然存在。解决方法是采用适当的字符串到bool转换策略。
摘要由CSDN通过智能技术生成

一些小的细节,如果不注意,一不小心就会坑掉我们比较多的时间。

遇到情况

项目中通过环境变量传入run_type=false值参数使用。

但是 走的分支仍然是 true的分支。

原因

猜测是数据类型导致的,应该传入时被识别成了str类型的参数,所以会走true的分支。

使用bool(run_type) 转出来 还是true。

因为 bool()方法 传入 字符串 仍为true。

解决方法

使用 str转bool方法 如下:

def str_to_bool(str):
    return True if str.lower() == 'true' else False
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张小凡vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值