捕获从python.tried执行的SQL语句的脚本输出。我知道所有可能的方法。
我有一个py脚本,它接受sql脚本文件并执行一系列语句。
我无法捕获这些执行的输出。 对于ex:create table ... table created 更新表.....匿名块完成
'try:
# session = subprocess.Popen(['sqlplus', '-S', connectString '@'+destPath+ '\\' +fileName])
session = subprocess.Popen(['sqlplus', '-S', connectString], stdin=PIPE, stdout=PIPE, stderr=PIPE)
query = command.encode('utf-8')
session.stdin.write(query)
# stdout, stderr = session.communicate(destPath+ '\\' +fileName)[0]
stdout, stderr = session.communicate()
f = open(outPath+'\\' +'%s' % fileName, 'a')
f.write(stdout.decode("unicode"))
f.write(stdout)
# f.write(stderr)
f.close()'
并且文件为空...或者如果我尝试打印标准输出,则会显示“b”或“无”