2015-04-06 74 views
-1

我試圖在多個.txt文件中搜索字符串「a.aiq」,並且我想要打印這些「.aiq」結果我在使用python搜索多個「.txt」文件中的特定字符串

到目前爲止,我已經寫下了代碼。它沒有給出任何錯誤,但沒有給我想要的結果。

import glob 
import re 
import os 

src = "C:\Python26\sample" 
file_array = glob.glob(os.path.join(src,"*.txt")) 

fi = open("aiq_hits.txt","w") 

for input_file in file_array: 

    fo = open(input_file,"r") 
    line= fo.readline() 
    for line in fo: 
     line=line.strip() 
     x= re.findall('\S *.aiq\S*',line) 
     line= fo.readline() 
     for item in x: 
      fi.write("%s\n" % item) 
      fo.close() 

fi.close()

+0

改善你的問題描述你得到的結果。它與期望的結果有什麼不同? – citxx 2015-04-06 11:26:02

回答

0
str = fo.readline() 
while str:  
... 
    str = fo.readline() 

應改爲:

for str in fo: 

的第一個問題是: 是file_array是否正確? 使用例如

for input_file in file_array: 
    print input_file #add parenthesis in python 3 
+0

file_array工作正常 – 2015-04-07 06:16:43

+0

for循環拋出錯誤 – 2015-04-07 06:19:29

+0

好的,所以你應該編寫處理單個文件的代碼,並嘗試它。如果不起作用,請在這裏發佈一個簡短的文件示例。 – 2015-04-07 07:56:29