اكتب التحقق من صحة cx_oracle.oraclecursor
سؤال
يمكن أن يكون هذا سؤالًا أساسيًا للغاية. أرغب في التحقق من صحة متغير هو نوع cx_oracle.oraclecursor ، لذلك جربت بعض التجارب ولكن كل شيء فشل:
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.
# ...
كيف يمكنني التحقق من صحة نوع cursor
?
والسؤال الإضافي هو ما هو الاستثناء/الخطأ المناسب لخطأ نوع غير صالح؟
شكرا على اي مساعدة!
المحلول
يمكنك التحقق من نوع المتغير باستخدام type(variable)
:
if str(type(cursor)) == "<type 'OracleCursor'>":
...
ملاحظة أنا أعلم ذلك isinstance()
موصى به.
نصائح أخرى
هذا يعمل بالنسبة لي:
if isinstance(cursor, cx_Oracle.Cursor):
...
لا تنتمي إلى StackOverflow