2016-03-29 5 views
0

私はPythonを使用したときにはとても新しいです。私はすべてのキーワードを試してみました。私は、フォルダ内の異なるtxtファイルからキーワードを検索し、ファイル名(python)を返すのに役立つプログラムを作成したいと思います。別のファイルからキーワードを検索してファイル名を返す

は、これは私の検索の果物されています:

import glob 
import os 

path = r'<filepath of the folder>' 
keyword = "internet" //ex is internet 

for filename in glob.glob(os.path.join(path, '*.txt')): 

    f = open(filename) 
    if keyword in f: 
    print("filename") 

私が実行してみましたと(意外に)それが正常に実行されますが、印刷されたものは何もありませんが、私は内部のインターネットの単語を含むファイルがあることをかなり確信しています。そして、それは何かエラーや何かを印刷しなかったので、私が正しい方向にいても確かではありません。

答えて

1

あなたはread()

for filename in glob.glob(os.path.join(path, '*.txt')): 
    with open(filename) as f: 
     if keyword in f.read(): 
      print("filename") 

または各ラインを読み、「キーワード」が発見された場合、ファイル名を印刷を使用してファイルを読み込む必要があります。

for filename in glob.glob(os.path.join(path, '*.txt')): 
    with open(filename) as f: 
     for line in f:    
      if keyword in line: 
       print("filename") 
       break 
関連する問題