在python子流程方法中捕获isql的错误消息

在python子流程方法中捕获isql的错误消息,python,subprocess,isql,Python,Subprocess,Isql,我正在使用python子进程执行isql命令。我正在使用下面的代码捕获输出和错误消息 command = "./isql -S "+mdbserver+" -U "+muserid+" -P "+mpassword+" -D "+mdatabase+" -s '"+self.Delimiter+"' -w 99999 <<EOF\nSET NOCOUNT ON\n"+Query+"\ngo\nEOF" output, err = subprocess.Popen(command,st

我正在使用python子进程执行isql命令。我正在使用下面的代码捕获输出和错误消息

command = "./isql -S "+mdbserver+" -U "+muserid+" -P "+mpassword+" -D "+mdatabase+" -s '"+self.Delimiter+"' -w 99999 <<EOF\nSET NOCOUNT ON\n"+Query+"\ngo\nEOF"
output, err = subprocess.Popen(command,stdout=subprocess.PIPE,shell=True,cwd=sybase_bin)

command=“./isql-S”+mdbserver+“-U”+muserid+“-P”+mpassword+“-D”+mdatabase+“-S”+self.Delimiter+”-w 9999

使用

stderr
参数:

proc = subprocess.Popen(
    command,
    stdout=subprocess.PIPE,
    stderr=subprocess.PIPE,
    shell=True,
    cwd=sybase_bin
)
然后:


请参阅。

我仍然在输出变量中遇到错误。我需要捕获错误变量中的错误。在这种情况下,可能是通过标准输出报告了错误。您可能需要检查isql的文档和命令行开关。我在-isql命令中添加了--retserverror。现在我在错误变量中得到了错误代码。
output, error = proc.communicate()