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!

È stato utile?

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
scroll top