需要一个Python脚本在一组SQL文件中搜索特定关键词并返回每个关键词找到的位置索引
我刚接触Python,想请教一下怎么处理一堆SQL文件。我的目标是用一些特定的关键词,找出这些文件中哪些代码行和这些关键词匹配。有没有什么想法、建议或者方法可以分享一下?这对我来说会非常有帮助。
谢谢!
Tiago M
2 个回答
1
你可以先了解一下 os.walk
这个函数,然后打开每个文件,接着在每一行上使用 in
、string.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)
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)