Tipo di convalida per cx_Oracle.OracleCursor
Domanda
Questo potrebbe essere questione molto semplice. Mi piacerebbe per convalidare una variabile è di tipo di cx_Oracle.OracleCursor, così ho provato un paio di prove, ma tutti falliti:
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.
# ...
Come faccio a convalidare il tipo di cursor
?
E la domanda aggiuntiva è quello che fa eccezione / errore è adatto per l'errore di tipo non valido?
Grazie per qualsiasi aiuto!
Soluzione
È possibile controllare il tipo di type(variable)
variabile utilizzando:
if str(type(cursor)) == "<type 'OracleCursor'>":
...
PS So raccomanda che isinstance()
.
Altri suggerimenti
Questo funziona per me:
if isinstance(cursor, cx_Oracle.Cursor):
...
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow