0

ディレクトリ内の複数のファイルを開き、各ファイルから必要なテキストの一致の最初のインスタンスのみを出力として出力するコードを作成しました。

ここで、この出力をファイルに入れたいと思います。ループを挿入したり、ループ内に配置し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 !!!"  
4

1 に答える 1

1

読み取り用にファイルを開くことができました。これは、書き込み用にファイルを開くことからわずか1ステップです。

out = open(outfile, "w") 
for f in in_files:
    ...
    output_string = "{},{},{}\n".format(f, HOMO, LUMO)
    out.write(output_string)
于 2012-09-26T08:49:18.120 に答える