Validation de type pour cx_Oracle.OracleCursor
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!
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