zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    变量声明和定义的关系
    STL之Vector
    STL之顺序容器
    类成员函数可以为回调函数吗
    排序
    名字查找
    Java 写 Log
    Spring 框架中注释驱动的事件监听器详解
    Centos7 安装gitLab
    世界经济史是一部基于假象和谎言的连续剧
  • 原文地址:https://www.cnblogs.com/Pigs/p/15457392.html
Copyright © 2011-2022 走看看