2012-07-13 40 views
0

我試圖打印包含特定關鍵字的行,並且它們都應位於同一行中才能打印出來。python打印行,當且僅當發現x和y

這是我如何處理這個問題,我做了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) 

但是沒有得到任何結果。所以我切換到第一種方法。

回答

5

也許:

if dir_key in lines and files in lines: 

如果dir_key是一個字符串,然後測試if dir_key:True只要dir_key不是一個空字符串。所以你的總測試是最有可能相當於if True and (files in lines):

2

你現在正在檢查什麼的dir_keytruthiness,而不是dir_keylines。變更

if dir_key and files in lines: 
#to 
if dir_key in lines and files in lines: 
相關問題