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

Posted Alex_996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

以上是关于Python执行 SQL 命令并实时打印输出的主要内容,如果未能解决你的问题,请参考以下文章

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

Python通过Python执行Shell指令SQL语句

Python通过Python执行Shell指令SQL语句

Go 执行命令行并实时打印输出

python 通过 subprocess 执行命令,重定向实时输出

Python获取命令实时输出-原样彩色输出并返回输出结果