Tipo de validación para cx_Oracle.OracleCursor
Pregunta
Esto podría ser cuestión muy básica. Me gustaría validar una variable es el tipo de cx_Oracle.OracleCursor, por lo que he intentado un par de ensayos, pero todos fallaron:
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.
# ...
¿Cómo puedo validar el tipo de cursor
?
Y la pregunta adicional es lo que es adecuado para el error tipo no válido excepción / error?
Gracias por cualquier ayuda!
Solución
Se puede comprobar el tipo de variable usando type(variable)
:
if str(type(cursor)) == "<type 'OracleCursor'>":
...
PS Sé que se recomienda que isinstance()
.
Otros consejos
Esto funciona para mí:
if isinstance(cursor, cx_Oracle.Cursor):
...
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow