cx_Oracle.OracleCursor的类型验证

时间:2010-06-09 05:21:00

标签: python cx-oracle

这可能是一个非常基本的问题。我想验证一个变量是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的类型?

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

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

您可以使用type(variable)检查变量的类型:

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

PS我知道推荐isinstance()

答案 1 :(得分:1)

这对我有用:

if isinstance(cursor, cx_Oracle.Cursor):
    ...