我正在使用python subprocess执行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)
我的isql命令的输出和错误来自输出变量。如何在err变量中捕获isql的错误消息。
答案 0 :(得分:1)
使用stderr
参数:
proc = subprocess.Popen(
command,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
shell=True,
cwd=sybase_bin
)
然后:
output, error = proc.communicate()