这可能是一个非常基本的问题。我想验证一个变量是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
的类型?
另外一个问题是什么异常/错误适合无效的类型错误?
感谢您的帮助!
答案 0 :(得分:1)
您可以使用type(variable)
检查变量的类型:
if str(type(cursor)) == "<type 'OracleCursor'>":
...
PS我知道推荐isinstance()
。
答案 1 :(得分:1)
这对我有用:
if isinstance(cursor, cx_Oracle.Cursor):
...