[英]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 ,因为它存在安全隐患。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.