一、需求:
日常测试授权脚本,需要检查多个行业文件夹下单独的授权脚本和汇总授权脚本,一个文件根目录下有多个子文件夹,子文件夹下有多个sql文件,人为比对较为耗时。
需要实现在文件中找到某个sql语句片段,然后遍历比对此sql语句片段在各目录各文件中是否一致。
二、思路:
该脚本将遍历根目录下的所有子文件夹中的 SQL 文件,检查在根目录下的多个文件中是否都存在匹配的 SQL 语句,并在找到匹配的文件时输出相应路径信息。
三、python代码
import os
#遍历各目录各文件,寻找有此sql语句的文件,并打印出对应文件的路径
def find_sql(root_dir, sql_fragment):
for dirpath, dirnames, filenames in os.walk(root_dir):
for filename in filenames:
if filename.endswith(".sql"):
filepath = os.path.join(dirpath, filename)
try:
with open(filepath, 'r', encoding='utf-8') as file:
sql_content = file.read()
if sql_fragment in sql_content: