繁体   English   中英

从 shell 连接到数据库的 python 调用 shell 脚本

[英]calling shell script from python where shell connects to database

我想从 python 代码中调用 shell 脚本。 我试图调用的 shell 脚本中有多个数据库(DB2)调用; 表示它多次连接到DB2数据库并执行不同的数据库sql。 我尝试使用 subprocess.call 方法,例如( subprocess.call(['./<shell script with full path>']) ); 但似乎在脚本连接到数据库并执行脚本中提到的命令之前,它正在终止。 但是当我从命令行调用 shell 脚本作为独立脚本时,它运行良好。

有没有其他方法可以处理这个问题?

子进程:子进程模块允许您生成新进程,连接到它们的输入/输出/错误管道,并获取它们的返回码。

http://docs.python.org/library/subprocess.html

用法:

import subprocess
process = subprocess.Popen(command, shell=True)
process.wait()
print process.returncode

旁注:最好避免使用 shell=True ,因为它存在安全隐患。

子进程中'shell = True'的实际含义

暂无
暂无

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

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