繁体   English   中英

在检查是否包含字符串时获得完全匹配的行

[英]get exact match when checking is string is contained is line

我想找到元组中项目的完全匹配。 为什么我的代码对所有行都返回True? 我希望它返回false。 有任何想法吗? 我究竟做错了什么?

test1.xml - 
<field1ff>1</field1ff>
<field1ff>1</field1ff>
<field2ff>1</field2ff>
<field2ff>1</field2ff>




fields_to_find = {"<field1>","<field2>"}

file = open("test1.xml", "r")
for line in file.readlines():
    if (s in line for s in fields_to_find):
        print("true")

您正在将生成器对象传递给if语句,其布尔值评估为True

bool((s in line for s in fields_to_find))

返回值:

True

相反,IIUC可以使用any()并传递生成器:

any(s in line for s in fields_to_find)

返回值:

False

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM