pymysql - 默认游标类的名称
pymysql - name of default cursorclass
这可能是一个愚蠢的问题,但我在 pymysql 的文档中找不到相关信息。 pymysql默认游标class是什么?当我在连接到数据库时未指定游标 class 时,我查询 return 响应中每一行的列表。
当我指定 pymysql.cursors.DictCursor 时,我得到了字典响应。我希望能够针对脚本中的不同连接在它们之间进行更改。
我用上下文管理器编写了一个小函数来生成游标,但它要求我每次都指定游标的名称class。我知道我可以解决这个问题,但知道默认游标 class 的名称会很好。
from contextlib import contextmanager
import pymysql
@contextmanager
def openDb(host=DB_HOST, database=DB_DATABASE,
user=DB_USER, cursor=DB_CURSOR):
"""
Simple context manager for opening a db connection
"""
with pymysql.connect(host=host, database=database, user=user,
cursorclass=cursor) as cur:
yield cur
我大概可以这样写:
@contextmanager
def openDb(host=DB_HOST, database=DB_DATABASE,
user=DB_USER, cursor=None):
"""
Simple context manager for opening a db connection
"""
if cursor:
with pymysql.connect(host=host, database=database, user=user,
cursorclass=cursor) as cur:
yield cur
else:
with pymysql.connect(host=host, database=database, user=user) as cur:
yield cur
并让它默认为默认光标 class 是什么,但我更愿意明确。
当然,一旦我 post 我就会在 via 中找到答案:
>>> import pymysql
>>> help(pymysql.cursors)
Help on module pymysql.cursors in pymysql:
NAME
pymysql.cursors - # -*- coding: utf-8 -*-
CLASSES
builtins.object
Cursor
SSCursor
DictCursorMixin
DictCursor(DictCursorMixin, Cursor)
SSDictCursor(DictCursorMixin, SSCursor)
pymysql.cursors.Cursor
就是答案。文档...
这可能是一个愚蠢的问题,但我在 pymysql 的文档中找不到相关信息。 pymysql默认游标class是什么?当我在连接到数据库时未指定游标 class 时,我查询 return 响应中每一行的列表。
当我指定 pymysql.cursors.DictCursor 时,我得到了字典响应。我希望能够针对脚本中的不同连接在它们之间进行更改。
我用上下文管理器编写了一个小函数来生成游标,但它要求我每次都指定游标的名称class。我知道我可以解决这个问题,但知道默认游标 class 的名称会很好。
from contextlib import contextmanager
import pymysql
@contextmanager
def openDb(host=DB_HOST, database=DB_DATABASE,
user=DB_USER, cursor=DB_CURSOR):
"""
Simple context manager for opening a db connection
"""
with pymysql.connect(host=host, database=database, user=user,
cursorclass=cursor) as cur:
yield cur
我大概可以这样写:
@contextmanager
def openDb(host=DB_HOST, database=DB_DATABASE,
user=DB_USER, cursor=None):
"""
Simple context manager for opening a db connection
"""
if cursor:
with pymysql.connect(host=host, database=database, user=user,
cursorclass=cursor) as cur:
yield cur
else:
with pymysql.connect(host=host, database=database, user=user) as cur:
yield cur
并让它默认为默认光标 class 是什么,但我更愿意明确。
当然,一旦我 post 我就会在 via 中找到答案:
>>> import pymysql
>>> help(pymysql.cursors)
Help on module pymysql.cursors in pymysql:
NAME
pymysql.cursors - # -*- coding: utf-8 -*-
CLASSES
builtins.object
Cursor
SSCursor
DictCursorMixin
DictCursor(DictCursorMixin, Cursor)
SSDictCursor(DictCursorMixin, SSCursor)
pymysql.cursors.Cursor
就是答案。文档...