Python从多个文件中提取第一个匹配的实例

时间:2012-09-26 08:42:24

标签: python text for-loop fileoutputstream

我编写了一个代码,用于打开目录中的多个文件,并仅打印每个文件中所需文本匹配的第一个实例作为输出。

现在我希望将此输出放在一个文件中。只需将print >> file.txt,....writecsv.write置于循环内即可完成此操作。

我的代码是:

import re, os, csv, sys

path = "D:\\"
in_files = os.listdir(path)
moldesc = ['Match1', 'Match2']

for f in in_files:
    file = os.path.join(path, f)
    text = open(file, "r")
    for line in text:
        if moldesc[0] in line:
            Text1 = line.split()[-1]          
        if moldesc[1] in line:
            Text2 = line.split()[-1]
            print f, Text1, Text2               # I WANT THIS OUTPUT IN A FILE
            break
    text.close()

print "We are extraction done !!!"  

1 个答案:

答案 0 :(得分:1)

你设法打开一个文件进行阅读,距离打开文件只有一步之遥。

out = open(outfile, "w") 
for f in in_files:
    ...
    output_string = "{},{},{}\n".format(f, HOMO, LUMO)
    out.write(output_string)