我正在尝试将re.search的输出与列表匹配,并在IF语句允许的情况下运行代码。但是,即使我告诉IF语句匹配True或False,IF语句也永远不会进行。
在python中运行搜索:
>>> re.search(r'...$', 'abcde1234doc').group() in ['doc', 'rtf', 'txt']
>>> True
返回True,因此通过要求IF语句匹配True,它应该继续执行其代码。但这似乎不起作用。
if re.search(r'...$', 'abcde1234doc').group() in ['doc', 'rtf', 'txt'] == True:
print'regex search matched!'
else:
print'regex search not matched'
我希望当正则表达式搜索返回True时,IF语句会继续执行其代码,但是IF语句不匹配,直接进入ELSE。
答案 0 :(得分:1)
Python中的布尔运算符链。
>>> directoryPath = '//TEAM/PATH_1/PATH_2/2018-Aug-06'
>>> directoryPath += '/'
>>> directoryPath
'//TEAM/PATH_1/PATH_2/2018-Aug-06/'
表示
x in y == z
您可以将条件写为
x in y and y==z
如果愿意的话,但最好不要使用if (re.search(r'...$', 'abcde1234doc').group() in ['doc', 'rtf', 'txt']) == True:
并坚持使用
==True