1

这可能是一个非常基本的问题。我想验证一个变量是 cx_Oracle.OracleCursor 的类型,所以我尝试了几次但都失败了:

import cx_Oracle

def execute_sql(cursor):
    """Execute a SQL using cursor(cx_Oracle.OracleCursor)."""
    if not cursor:
        logging.error('cursor is null.')
        return None  # TODO: raise some exception.
    # elif isinstance(cursor, OracleCursor): # failed
    # elif isinstance(cursor, cx_Oracle.OracleCursor): # failed
        logging.error('cursor is not OracleCursor.')
        return None  # TODO: raise some exception.
# ...

如何验证 的类型cursor

另外一个问题是什么异常/错误适用于无效类型错误?

谢谢你的帮助!

4

2 回答 2

1

您可以使用以下方法检查变量类型type(variable)

if str(type(cursor)) == "<type 'OracleCursor'>":
       ...

PS我知道这isinstance()是推荐的。

于 2010-06-09T05:51:20.207 回答
1

这对我有用:

if isinstance(cursor, cx_Oracle.Cursor):
    ...
于 2013-04-04T17:14:17.863 回答