python实现抽取建表语句输出成表名.sql格式

# coding:utf-8
import os
import sys

import os

file_name = sys.argv[1]

with open(file=file_name, mode='r', encoding='utf-8') as f:
    all_line=f.readlines()

flag = 0
sql_name = ''
if not os.path.isdir('./sql'):
    os.mkdir('./sql')
for line in all_line:
    line = line.rstrip('\n')
    if "CREATE TABLE" in line:
        # print(line, file="./sql/{}.sql".format())
        sql_name = './sql/' + line.split("`")[1] + ".sql"
        print(sql_name)
        with open(file=sql_name, mode='a', encoding='utf-8') as f:
            f.write(line + "\n")
        flag = 1
        continue
    if "ENGINE" not in line and "CHARSET" not in line and flag == 1:
        # print(line, file="./sql/{}.sql".format())
        with open(file=sql_name, mode='a', encoding='utf-8') as f:
            f.write(line + "\n")
    elif "ENGINE" in line and "CHARSET" in line and flag == 1:
        with open(file=sql_name, mode='a', encoding='utf-8') as f:
            f.write(line + "\n")
        flag = 0

猜你喜欢

转载自blog.csdn.net/shunnianlv/article/details/105856161