#!/usr/bin/env python
# encoding: utf-8
'''
@author: morgan lions
@time: 8/7/18 11:07 AM
'''
import pymysql.cursors
import subprocess
mysqlDb = {
'host': '127.0.0.1',
'port': 3306,
'user': 'your_mysql_name',
'password': 'password',
'charset': 'utf8',
'db_name': 'db_name'
}
connection = pymysql.connect(host=mysqlDb['host'],
user=mysqlDb['user'],
password=mysqlDb['password'],
db=mysqlDb['db_name'],
charset=mysqlDb['charset'],
cursorclass=pymysql.cursors.DictCursor)
results = []
try:
with connection.cursor() as cursor:
sql = '''SHOW TABLES'''
cursor.execute(sql)
result = cursor.fetchall()
for i in range(len(result)):
results.append(result[i]['Tables_in_imoocsvr'])
finally:
connection.close()
string = 'sqlacodegen --tables {table} --outfile ./model/{table}.py mysql+pymysql://{user}:{password}@{host}:{port}/{db_name}?charset={charset}'
for i in results:
subprocess.call(string.format(table=i, user=mysqlDb['user'], password=mysqlDb['password'], port=mysqlDb['port'],
db_name=mysqlDb['db_name'], charset=mysqlDb['charset']), shell=True)
print i
python利用 subprocess 批量执行命令 文中以批量sqlacodegen命令为例子
猜你喜欢
转载自blog.csdn.net/TianPingXian/article/details/81478503
今日推荐
周排行