0

我正在尝试打印包含特定关键字的行,并且它们都应该在同一行中才能打印出来。

这就是我解决问题的方式,我制作了 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)

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

4

2 回答 2

5

也许:

if dir_key in lines and files in lines:

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

于 2012-07-13T14:03:17.010 回答
2

您现在所拥有的是检查真实性dir_key而不是dir_keylines. 改变

if dir_key and files in lines:
#to
if dir_key in lines and files in lines:
于 2012-07-13T14:03:27.550 回答