1

これは非常に基本的な質問かもしれません。変数の型が 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ですか?

追加の質問は、無効な型エラーに適した例外/エラーは何ですか?

助けてくれてありがとう!

4

2 に答える 2

1

次を使用して変数のタイプを確認できますtype(variable)

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

PS私はそれisinstance()が推奨されることを知っています。

于 2010-06-09T05:51:20.207 に答える
1

This works for me:

if isinstance(cursor, cx_Oracle.Cursor):
    ...
于 2013-04-04T17:14:17.863 に答える