gpt4 book ai didi

python - pymysql - 默认游标类的名称

转载 作者:行者123 更新时间:2023-12-03 09:10:45 26 4
gpt4 key购买 nike

这可能是一个愚蠢的问题,但我在 pymysql 的文档中找不到信息。 pymysql 默认游标类是什么?当我在连接到数据库时未指定游标类时,我的查询会为响应中的每一行返回一个列表。

当我指定 pymysql.cursors.DictCursor 时,我得到一个字典响应。我希望能够在脚本中的不同连接之间进行更改。

我用上下文管理器编写了一个小函数来生成游标,但它要求我每次都指定游标类的名称。我知道我可以解决这个问题,但知道默认光标类的名称会很好。

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

并让它默认为默认的光标类,但我更愿意明确。

最佳答案

当然,一旦我发布此内容,我就会在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 就是答案。文档...

关于python - pymysql - 默认游标类的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42844459/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com