-2

我在我的 Python 代码中使用 sqlplus 连接到数据库并执行查询并读取结果。任何人都可以帮助我如何从 sysout 读取数据。

我的代码是这样的:

    stdout = os.popen(cmd)
for line in stdout:
    print line
stdout.close()

但我可以看到每三行标题重复的结果如下:

Name               ID

----               ---

AB                 1

AC                 2

AD                 3

Name               ID

----               ---

BC                 1

BD                 2

像这样。

是否可以控制这一点,而不重复标题,标题应该只出现一次,并且应该只出现在开头。

4

1 回答 1

0

你在做什么:

  • 启动一个查询数据库并将结果打印到标准输出的独立程序
  • 阅读该程序的标准输出并考虑解析它。

你应该做什么:

  • 在 Python 中使用数据库 API。

此页面包含您可以使用的 Oracle DB API 列表:https ://wiki.python.org/moin/Oracle

使用真正的 API 来查询数据库将带来许多好处,例如更好的机会来处理错误、可能更好的性能,以及代码的未来维护者不会对你感到不安。

于 2013-10-11T10:54:21.237 回答