cx_Oracle.OracleCursor 的类型验证

发布于 2024-09-04 16:16:38 字数 650 浏览 2 评论 0原文

这可能是一个非常基本的问题。我想验证变量的类型是 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.
# ...

How can I validate the type of cursor?

另一个问题是什么异常/错误适合无效类型错误?

感谢您的帮助!

This could be very basic question. I'd like to validate a variable is type of cx_Oracle.OracleCursor, so I tried a couple of trials but all failed:

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

How can I validate the type of cursor?

And the additional question is what exception/error is suitable for invalid type error?

Thanks for any help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

铃予 2024-09-11 16:16:38

您可以使用 type(variable) 检查变量的类型:

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

PS 我知道建议使用 isinstance()

You can check type of variable using type(variable):

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

PS I know that isinstance() is recommended.

萌化 2024-09-11 16:16:38

这对我有用:

if isinstance(cursor, cx_Oracle.Cursor):
    ...

This works for me:

if isinstance(cursor, cx_Oracle.Cursor):
    ...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文