繁体   English   中英

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

[英]shell script inside python script with argument as sql script

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)

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

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

多谢你们 :-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM