python脚本中的shell脚本,参数为sql脚本

时间:2018-06-13 05:44:41

标签: python sql shell

Python脚本:

import subprocess

proc = subprocess.Popen(['sh ' + '/dir_path/script_to_Call_sql_script.sh ' + '\"select ID,DATE,STATUS from XYZ_TABLE;\"'], stdout=subprocess.PIPE, shell=True)
(out, err) = proc.communicate()
BOOK=out.split()

以上脚本不适用于输出。但脚本从同一目录中提取默认脚本select.sql。

如果我删除了select.sql查询,则它会给出以下错误:

SP2-0310: unable to open file "select.sql"

我想将不同的(共6个)SQL脚本逐个传递给此代码。 例如:

proc = subprocess.Popen(['sh ' + '/dir_path/script_to_Call_sql_script.sh ' + ' first.sql'], stdout=subprocess.PIPE, shell=True)

1 个答案:

答案 0 :(得分:0)

以下代码解决了我的问题。我使用os.popen而不是subprocess.Popen

os.popen('./dir_path/script_to_Call_sql_script.sh sql_query.sql').read()

谢谢你们: - )