需要一个Python脚本在一组SQL文件中搜索特定关键词并返回每个关键词找到的位置索引

1 投票
2 回答
2039 浏览
提问于 2025-04-16 20:40

我刚接触Python,想请教一下怎么处理一堆SQL文件。我的目标是用一些特定的关键词,找出这些文件中哪些代码行和这些关键词匹配。有没有什么想法、建议或者方法可以分享一下?这对我来说会非常有帮助。

谢谢!

Tiago M

2 个回答

1

你可以先了解一下 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)
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)

撰写回答