python获取路径下所有SQL脚本的表名

# -*- coding:UTF8 -*-
import re
import os, sys

#创建临时文件
tmpfile=open('F:/python/路径下所有文件中表名/tmpfile.txt','w')

# 打开待分析脚本路径
path = "E:/XXX/"
dirs = os.listdir( path )
print('文件名','表名')

# 循环路径下所有文件
for file in dirs:
 #将文件内容输出到一个字符串
 all_the_text =open(path+file,encoding='utf-8').read( )

 #匹配“${SJCK_V_ACCESS}.”+匹配字母、数字、下划线。等价于 [A-Za-z0-9_]
 pattern = re.compile(r'\$\{SJCK_V_ACCESS\}\.\w*')


 #字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回
 it = pattern.finditer(all_the_text)
 for match in it:
  #替换字符串中的匹配项,把${SJCK_V_ACCESS}.替换成空
  tablename = re.sub(r'\$\{SJCK_V_ACCESS\}\.', "", match.group())
  #打印 文件名,表名
  print(file,tablename)

  #结果追加入临时文件
  tmpfile.write(file+" "+tablename + '\n')


#关闭临时文件
tmpfile.close()

#文件内容行去重
list01=[]
for i in open('F:/python/路径下所有文件中表名/tmpfile.txt'):
 if i in list01:
  continue
 list01.append(i)
with open('F:/python/路径下所有文件中表名/resultfile.txt','w') as s:
 s.writelines(list01)

原文地址:https://www.cnblogs.com/Pigs/p/15457392.html