2011-07-01 1 views
1

私はPythonには非常に新しく、どのようにファイル(SQL)いくつかの特定のキーワードを使用して、すべてのファイルで一致するコード行を見つけます。どんな概念、アイデアや提案も人生の節約に役立つでしょう。各キーワードが見つかった場所のインデックスを返すsqlファイルのコレクション内の特定のキーワードを検索するためのPythonスクリプトが必要

種類よろしく

ティアゴM

+0

これはPythonである必要がありますか?代わりにキーワードをgrep -nできますか? – AlG

答えて

2

ソリューション

s = 'somestring' 
names = ['file1.sql', 'file2.sql'] 
for n in names: 
    f = open(n) 
    lines = f.readlines() 
    for i, l in enumerate(lines): 
     if s in l: 
      print 'line %d' % (i) 
+0

病気これを試して、あなたに知らせる!ありがとうございました! –

+0

それは助ける!ありがとうございました –

1

あなたはopenその後、os.walk機能で各ファイルを見て、使用したい各ファイルの行にinstring.find、またはre.search 。例:

search_term = "where x > 1" 
for directory, subdirectories, paths in os.walk("/path/to/sql_directory"): 
    for path in paths: 
     f = open(path, "r") 
     for line_no, line in enumerate(f): 
      if search_term in line: # could use re module functions here 
       print "%s(%d): %s"%(path, line_no, line) 
+0

ありがとうございました!大変感謝しています! –

関連する問題