python中的SQLite,在屏幕上打印,python 3.2.4我有这个代码cur.execute("SELECT * FROM Player")while True: row = cur.fetchone() print(row) print("why {0}".format(cur.fetchone())) if row == None: break我收到以下输出:从数据库加载 (1, 'Damian', 1, 15, 18, 100, 100) why None None why None((((((1,'Damian',1,15,18,100,100))))<-这是在我的数据库中。为什么当我尝试以另一种打印方式打印不起作用时?或者当我尝试像这样打印:print(row [0])它显示错误,例如= print(row [0])TypeError:'NoneType'对象不可下标
1 回答

30秒到达战场
TA贡献1828条经验 获得超6个赞
您的问题是您fetchone()
在循环内调用了两次。while
与行相对应的循环没有什么神奇的。相反,它是调用的副作用,该副作用fetchone()
前进到下一个结果行。
第一print
输出第一行;第二行输出第一行。第二行(带有"why"
)将打印第二行(如果存在)。
添加回答
举报
0/150
提交
取消