基本上我要做的是检查文件(File1)与另一个(template.file)比较时缺少的字符串。一旦我有了这个,我将附加缺少字符串的File1。
File1内容:
dn_name:
ip_addr:10.0.0.0
template.file内容:
dn_name:
ip_addr:
我的方法:
f = open("template.file", "r")
t = open("File1").read()
for line in f:
if line in t:
print "found" + 'line'
else:
print "Not found"
问题在于,在我的示例中,脚本将仅为dn_name打印:但不是ip_addr:因为它也具有IP。 我基本上需要像
这样的东西if line* in t:
我该怎么做?
答案 0 :(得分:2)
你忘记了新的行字符,特别是你在模板文件中搜索ip_addr:\n
不在那里(正如程序正确告诉你的那样)。因此,为了达到你想要的效果,你必须使用rstrip()
来取消换行符,就像我在下面所做的那样:
f = open("template.file", "r")
t = open("File1").read()
for line in f:
if line.rstrip() in t:
print "found " + line
else:
print line + " Not found"
此外,python中没有*
,in
运算符已经完全符合您的要求。
最后,如果您想进行大量比较,我会建议使用set
。