2012-06-07 20 views
0

所以我有一個名爲'清除'的文件,我想查看一行是否包含列表中的兩個不同的字符串,如果是這樣來打印這些行I不能得到它的工作。逐行讀取文件並打印,如果它包含兩個不同的字符串

for pos in positions: 
    for line in open('clears'): 
     if pos[0] and pos[3] in line: 
      print line 

我也試過 ˚F

or pos in positions: 
     for line in open('clears'): 
      if pos[0] in line and pos[3] in line: 
       print line 

這就是我試過,但我得到一個TypeError: 'in <string>' requires string as left operand 我可以得到它打印如果只有一個條件,但我不知道該怎麼辦,如果有兩個。

感謝

回答

1

我猜你的意思是這個(EDIT,回到第一個版本):

for pos in positions: 
    for line in open('clears'): 
     if pos[0] in line and pos[3] in line: 
      print line 

而且,中pos元素必須是字符串。

+0

我試過,以及前面同樣的錯誤類型錯誤:「在」要求的字符串作爲左操作數 – Rtrader

+0

@ user1440194:那麼你的POS變量的內容都是壞 – jdi

+0

@jdi得到它謝謝,我只是轉換其中的一個字符串 – Rtrader

相關問題