猿问

带有SQLite的Python。SQLite数据转换为变量

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'对象不可下标


慕哥6287543
浏览 184回答 1
1回答

30秒到达战场

您的问题是您fetchone()在循环内调用了两次。while与行相对应的循环没有什么神奇的。相反,它是调用的副作用,该副作用fetchone()前进到下一个结果行。第一print输出第一行;第二行输出第一行。第二行(带有"why")将打印第二行(如果存在)。
随时随地看视频慕课网APP

相关分类

Python
我要回答