python中是否有一种方法可以将字符串'True'
解析为True
(布尔值),将'False'
解析为False
(布尔值)?
我知道我可以做bool('True')
或bool('False')
,但每个人都是True
答案 0 :(得分:1)
iesStatusChangeStream = reactiveTemplate.changeStream("iesMasterInfo", changeStreamOptions ,IESMasterInfo.class);
如果您执行@GetMapping(value="/reactiveStatus", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<ChangeStreamEvent<IESMasterInfo>> liveIESMstrInfosStatus(){
return ndSubEvtProcessor.getIESchangeStreamForStatusTracking();
}
,则会看到>>> import ast
>>> ast.literal_eval('False')
False
:
type(ast.literal_eval('False'))
您还可以编写自己的函数,以布尔值<class 'bool'>
的形式返回>>> type(ast.literal_eval('False'))
<class 'bool'>
,以布尔值'True'
的形式返回True
,如果您提供任何其他输入,它也会返回相同的结果:
'False'
现在,您致电:
False
答案 1 :(得分:0)
在这种情况下,我不建议使用ast.literal_eval
或eval
。最好的办法可能是:
def parse_boolean(b):
return b == "True"
"True"
将返回True
,而"False"
将返回False
。