结果不打印 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的主要内容,如果未能解决你的问题,请参考以下文章

Python 3.X - 使用用户输入搜索列表并打印结果

如何在 Python3 中向调用函数返回更多值并显示结果,目前它只打印第一个值而不增加? [复制]

尝试在Python中将集合的结果写入csv文件,但只打印一行

python selenium 为啥print打印不出来

Mac系统下sublime text3 - Python3配置教程(运行Hello World程序-没有打印结果)

从 Python 中的不同类打印?