<p>PEP249允许使用<a href="https://www.python.org/dev/peps/pep-0249/#description" rel="nofollow">^{<cd1>} attribute of cursor objects</a>,它已经是<a href="http://cx-oracle.readthedocs.org/en/latest/cursor.html#Cursor.description" rel="nofollow">implemented in cx_Oracle</a>。在</p>
<p>这将返回一个元组列表,其中每个元组的第一个元素是列名:</p>
<pre class="lang-py prettyprint-override"><code>>>> db = cx_Oracle.connect('schema/pw@db/db')
>>> curs = db.cursor()
>>> sql = "select * from dual"
>>> curs.execute(sql)
<__builtin__.OracleCursor on <cx_Oracle.Connection to schema@db/db>>
>>> column_names = curs.description
>>> column_names
[('DUMMY', <type 'cx_Oracle.STRING'>, 1, 1, 0, 0, 1)]
>>>
</code></pre>
<p>为了演示一个(非常)稍微复杂的情况,我创建了这个表:</p>
^{pr2}$
<p>然后就看你如何使用它了:</p>
<pre class="lang-py prettyprint-override"><code>>>> sql = "select * from tmp_test"
>>> curs.execute(sql)
<__builtin__.OracleCursor on <cx_Oracle.Connection to schema@db/db>>
>>> curs.description
[('COL1', <type 'cx_Oracle.NUMBER'>, 127, 22, 0, -127, 1), ('COL2', <type 'cx_Oracle.STRING'>, 10, 1
0, 0, 0, 1)]
>>> ','.join(c[0] for c in curs.description)
'COL1,COL2'
>>>
</code></pre>
<p>在开始枚举光标值之前,只需写下这一行。在</p>