Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:';非类型';对象在非空查询结果上不可下标_Python_Sqlite - Fatal编程技术网

Python:';非类型';对象在非空查询结果上不可下标

Python:';非类型';对象在非空查询结果上不可下标,python,sqlite,Python,Sqlite,对于非空查询结果,我得到的对象不可下标。当我打印时 c.fetchone()它打印正确的结果,但当我检查类型时,它会显示 我没有看到@PRMoureu的评论。她/他完全正确。发生这种情况是因为您已经在打印中获取了这两个值。您需要重新执行选择或删除打印: import sqlite3 conn = sqlite3.connect("scraping.db") c = conn.cursor() c.execute('CREATE TABLE IF NOT EXISTS Terminate (n

对于非空查询结果,我得到的
对象不可下标。当我打印时
c.fetchone()
它打印正确的结果,但当我检查类型时,它会显示


我没有看到@PRMoureu的评论。她/他完全正确。发生这种情况是因为您已经在打印中获取了这两个值。您需要重新执行选择或删除打印:

import sqlite3

conn = sqlite3.connect("scraping.db")
c = conn.cursor()

c.execute('CREATE TABLE IF NOT EXISTS Terminate (numar INT, arj INT )')
conn.commit()
c.execute('DELETE FROM Terminate')
conn.commit()
c.execute('INSERT OR IGNORE INTO Terminate ( numar, arj ) VALUES (1,0)')
conn.commit()
c.execute("SELECT * FROM Terminate") # ORDER BY numar DESC LIMIT 1")


ins = c.fetchone()[0]
print ins, type(ins)
输出似乎正常

1 <type 'int'>
1

没有更多行可用(您的表显然只有一行)。如果你想重复使用,你可以存储第一个结果:
result=c.fetchone()
如果你想更多地使用同一行,你必须保留一个像
res=c.fetchone()
这样的引用,然后
print(res,type(res))
将按你的预期工作。我仍然无法检索该
result=c.fetchone()的第一个元素
ins=result[0]TypeError:“NoneType”对象不可下标
您只能调用
c.fetchone()
一次
1 <type 'int'>