2016-09-14 7 views
0

単語リストに一致するファイルのテキストファイルを検索しています。どのようにしてリストから一致する単語を出力するのですか?リストから単語を検索し、Python 3.xで一致する単語を出力します。

これはこれまで私が行ってきたことです。リストから単語の1つが見つかるたびに、ファイル名が書き込まれます。私はファイル名と一致する単語を行に追加したいので、毎回ファイル名と1つの一致した単語があります。それ、どうやったら出来るの?

ngwrds= ['words'...] 

for filename in os.listdir(os.getcwd()): 
     with open(filename, 'r') as searchfile: 
      for line in searchfile: 
       if any(x in line for x in ngwrds): 
        with open("keyword.txt", 'a') as out: 
         out.write(filename + '\n') 

入力は、長いテキストファイルで行は次のように読むかもしれない:

会社は$ 1.20減価償却費を報告しました。

ザ・リストから検索語の一つが減価した場合、出力ファイルは次のようになります。

ファイル名の減価償却

ありがとうございました。

+0

入力と希望する出力の簡単な例を挙げることができますか? –

+0

入力と出力の例を追加しました – prizmracer11

答えて

0

私はoutが何であるかわからないと私は私がどこからあなたのコードを実行することはできませんが、このような何かを試みることができる:

ngwrds= ['words'...] 

for filename in os.listdir(os.getcwd()): 
    with open(filename, 'r') as searchfile: 
     for line in searchfile: 
      line = line.strip().split(" ") 
      for word in line: 
       if word in ngwrds: 
        out.write(filename + " " + word) 

striplineの両端に空白を取り除くに。 splitは、単語のリストをlineに返します。

関連する問題