2

Oracle データベースから読み取りを行っており、フィールドが column であるかどうかを確認したいと考えていますcx_Oracle.DATETIME

私は次のことを試しました:

if columnTypes[columnIndex] == cx_Oracle.DATETIME:

if columnTypes[columnIndex] is cx_Oracle.DATETIME:

どちらも機能しません。

私が行った場合:

print columnTypes[columnIndex]

戻ります:

<type 'cx_Oracle.DATETIME'>

編集:

タイプを変数に格納することで機能しました:

dbDateType = cx_Oracle.DATETIME

if columnTypes[columnIndex] == dbDateType

4

2 に答える 2

2

最善の方法は、おそらく次のことです。

isinstance(columnTypes[columnIndex], cx_Oracle.DATETIME)

正確なタイプを確認したい場合は機能しますtype(obj) == myTypeが、使用isinstanceするとサブタイピングが可能になります。

于 2013-06-21T12:23:13.343 に答える