为了账号安全,请及时绑定邮箱和手机立即绑定

如何从在 bool 中转换的字符串返回 false

如何从在 bool 中转换的字符串返回 false

人到中年有点甜 2022-07-26 20:57:05
我无法False从 docker(.env) 中返回 settings.pyDEBUG = os.environ.get('DEBUG_MODE') DEBUG_MODE=False蟒蛇返回:x = Falsebool(x)Falseprint(bool(x))Falsex = 'False'print(bool(x))True如何返回假?
查看完整描述

4 回答

?
收到一只叮咚

TA贡献1821条经验 获得超5个赞

试试看嘛

print(eval('False'))

看看它在文档eval()中的用法


查看完整回答
反对 回复 2022-07-26
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

eval一般来说是个坏主意

我会用

b = False if x == 'False' else True


查看完整回答
反对 回复 2022-07-26
?
繁花如伊

TA贡献2012条经验 获得超12个赞

任何非空字符串都是真实的,因此bool('False')返回 True。

您可以使用一个简单的比较:

print(x == 'True')

或者你可以ast.literal_eval()用来解析任何 Python 文字。

import ast
print(ast.literal_eval(x))


查看完整回答
反对 回复 2022-07-26
?
白板的微信

TA贡献1883条经验 获得超3个赞

任何字符串都是用 ascii 二进制编码的。所以代码

x = ' ' ; print(bool(x))    | >>> True   |

因为它不是零,即使 x=" " | 其中[“”=空格]

如果你想按照你说的做:

  • 方法1:[ 类型(x)== str ]:

    • 如果 x= "anyString" 则返回 BOOLEAN True ;如果其他类型则返回False

  • 方法 2:[ isinstance ( x , str ) ]

    • 如果为 true 则返回 BOOLEAN True,用 str(Your_test) 包装它以获取字符串比较

  • 方法 3:互补逻辑

    • 最初我们给 | x='假'

    • boolean_value = x != '假'

    • 打印(布尔值)| >>> 错误

    • 双重恭维boolean_value = x == 'True'

    • 打印(布尔值)| >>> 错误


查看完整回答
反对 回复 2022-07-26
  • 4 回答
  • 0 关注
  • 175 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号