Question

Cela pourrait être question fondamentale. Je voudrais valider une variable est de type de cx_Oracle.OracleCursor, alors j'ai essayé quelques essais, mais tout a échoué:

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

Comment puis-je valider le type de cursor?

Et la question supplémentaire est ce que exception / erreur convient à l'erreur de type non valide?

Merci pour toute aide!

Était-ce utile?

La solution

Vous pouvez vérifier le type de variable en utilisant type(variable):

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

PS Je sais que isinstance() est recommandé.

Autres conseils

Cela fonctionne pour moi:

if isinstance(cursor, cx_Oracle.Cursor):
    ...
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top