Frage

Dies könnte sehr grundlegende Frage sein. Ich mag eine Variable validieren Art von cx_Oracle.OracleCursor ist, so dass ich ein paar Studien versucht, aber alle gescheitert:

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.
# ...

Wie kann ich die Art von cursor validieren?

Und die weitere Frage ist, was Ausnahme / Fehler für ungültige Typfehler geeignet sind?

Vielen Dank für jede Hilfe!

War es hilfreich?

Lösung

Sie können Variablentyp mit type(variable) überprüfen:

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

PS Ich weiß, dass isinstance() empfohlen.

Andere Tipps

Dies funktioniert für mich:

if isinstance(cursor, cx_Oracle.Cursor):
    ...
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top