结果不打印 Python - SQlplus
Posted
技术标签:
【中文标题】结果不打印 Python - SQlplus【英文标题】:results not print Python - SQlplus 【发布时间】:2013-07-08 01:44:21 【问题描述】:我写了下面的代码在sqlplus中运行一个脚本
(username, password, host) = ("user","psw","isntance")
conn_string = " %s/%s@%s "% (username,password,host)
session = Popen(['sqlplus','-S', conn_string], stdin=PIPE, stdout=PIPE, stderr=PIPE)
sql_file = '%s/%s' % ('/my/folder', 'File.sql')
f= open(sql_file,'r')
cmd = f.read()
session.stdin.write(cmd)
stdout, stderr = session.communicate()
代码执行没有任何错误。但我没有看到任何打印结果。不确定我哪里出错了。
【问题讨论】:
【参考方案1】:您的代码没有打印语句。试试下面的代码:
(username, password, host) = ("user","psw","isntance")
conn_string = " %s/%s@%s "% (username,password,host)
session = Popen(['sqlplus','-S', conn_string], stdin=PIPE, stdout=PIPE, stderr=PIPE)
sql_file = '%s/%s' % ('/my/folder', 'File.sql')
with open(sql_file) as f:
stdout, stderr = session.communicate(f.read())
print 'output: %s' % stdout
print 'error: %s' % stderr
【讨论】:
以上是关于结果不打印 Python - SQlplus的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Python3 中向调用函数返回更多值并显示结果,目前它只打印第一个值而不增加? [复制]
尝试在Python中将集合的结果写入csv文件,但只打印一行