python打印一行,当且仅当找到x和y时

时间:2012-07-13 14:01:49

标签: python

我正在尝试打印包含特定关键字的行,并且它们都应位于同一行,以便打印出来。

这是我解决问题的方法,我制作了2个变量并为它们分配了变量。其中一个是文件名,每次程序迭代列表时都会更改。

for files in myfiles:
       for lines in info:
             if dir_key and files in lines:
                      print lines
             else:
                 print "line not found" 

这样可行,但问题是,它还会打印一行只包含文件名的行。我如何确保不这样做?我试过了

if line.beginswith(dir_key) and line.endswith(file)

但这并没有产生任何结果。所以我切换到第一种方法。

2 个答案:

答案 0 :(得分:5)

也许:

if dir_key in lines and files in lines:

如果dir_key是一个字符串,那么只要if dir_key:不是空字符串,测试True就是dir_key。所以你的总测试很可能等同于if True and (files in lines):

答案 1 :(得分:2)

您现在所拥有的是检查dir_key的{​​{3}},而不是dir_key lines。变化

if dir_key and files in lines:
#to
if dir_key in lines and files in lines: