首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python:“NoneType”对象不能在非空查询结果上订阅

Python:“NoneType”对象不能在非空查询结果上订阅
EN

Stack Overflow用户
提问于 2018-07-23 02:29:36
回答 1查看 685关注 0票数 1

我在一个非空的查询结果上获取object is not subscriptable。当我打印c.fetchone()时,它会打印正确的结果,但当我检查类型时,它显示为<class 'NoneType'>

代码语言:javascript
复制
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")
print(c.fetchone(), type(c.fetchone()))

ins = c.fetchone()[0]
EN

回答 1

Stack Overflow用户

发布于 2018-07-23 02:49:56

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

代码语言:javascript
复制
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)

输出看起来没问题

代码语言:javascript
复制
1 <type 'int'>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51468087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档