栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python执行 SQL 命令并实时打印输出

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python执行 SQL 命令并实时打印输出

需要借助exe_command函数,该函数通过subprocess执行 shell 命令,并实时打印输出。

from subprocess import Popen, PIPE, STDOUT


def exe_command(command):
	"""
	执行 shell 命令并实时打印输出
	:param command: shell 命令
	:return: process, exitcode
	"""
	print(command)
	process = Popen(command, stdout=PIPE, stderr=STDOUT, shell=True)
	with process.stdout:
		for line in iter(process.stdout.readline, b''):
			print(line.decode().strip())
	exitcode = process.wait()
	return process, exitcode


def exe_sql_command(sql_command, redirect=None):
	"""
	执行 hive sql 命令并转储到文件
	:param sql_command: sql 命令
	:param redirect: 是否重定向输出到文件
	:return: process, exitcode
	"""
	command = "hive -e "%s"" % sql_command
	if redirect:
		command += f" > {redirect}"
	return exe_command(command)


def exe_sql_file(sql_file, redirect=None):
	"""
	执行 hive sql 文件并转储到文件
	:param sql_file: sql 文件
	:param redirect: 是否重定向输出到文件
	:return: process, exitcode
	"""
	command = f"hive -f {sql_file}"
	if redirect:
		command += f" > {redirect}"
	return exe_command(command)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/741059.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号