0
這可能是一個愚蠢的問題,但我找不到pymysql文檔中的信息。什麼是pymysql默認遊標類?當我沒有指定與數據庫連接的遊標類時,我的查詢返回響應中每一行的列表。pymysql - 默認遊標類名稱
當我指定pymysql.cursors.DictCursor時,我得到一個字典響應。我希望能夠在它們之間更改腳本中的不同連接。
我已經寫了一個帶有上下文管理器的小函數來產生遊標,但它需要我每次指定遊標類的名稱。我知道我可以解決這個問題,但知道默認cursorclass的名字會很好。
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
,並讓它默認爲任何默認cursorclass是的,但我寧願是明確的。
它看起來像是'pymysql.cursors.Cursor',但很難說。我發現的唯一文檔很爛。你可以用''inspect.Signature'](https://docs.python.org/3/library/inspect.html#inspect.Signature)來查看'pymysql.connect'來查看默認參數值。 – user2357112
謝謝!只要我發佈這一點,我想到了在文檔中查找。如果它在文檔中,我不知道爲什麼在RTD頁面上沒有完整的API參考... –