如果我写cursor=db.cursor(pymysql.cursors.DictCursor)cursor.execute(query)result=cursor.fetchall()print(result)这可以工作并将结果打印为字典。但是如果我这样写cursor=db.cursor(pymysql.cursors.DictCursor)result=cursor.execute(query).fetchall()print(result)它给我错误:Traceback (most recent call last): File "senti4SDanalyze.py", line 22, in <module> constructMaleResults() File "senti4SDanalyze.py", line 12, in constructMaleResults result=cursor.execute(query).fetchall()AttributeError: 'int' object has no attribute 'fetchall'这是为什么?
1 回答
噜噜哒
TA贡献1784条经验 获得超7个赞
在对象上被调用result=cursor.fetchall()的方法。fetchallcursor
在result=cursor.execute(query).fetchall()方法fetchall中被方法返回的对象(或本机类型)上被调用execute。
为了更好地理解这一点,请探索内置的type和dir:
type(cursor)
dir(cursor)
type(cursor.execute(query))
dir(cursor.execute(query))
添加回答
举报
0/150
提交
取消