繁体   English   中英

python错误:类型为“ builtin_function_or_method”的对象没有len()

[英]python error: object of type 'builtin_function_or_method' has no len()

我当前的代码有问题,我试图依靠每69行来查看sqlite3数据库中有多少行通道。

当我尝试这个:

cur.execute('SELECT channel FROM programs WHERE channel GROUP BY channel')
row_count = len(cur.fetchall)
print row_count

它给我错误:

TypeError: object of type 'builtin_function_or_method' has no len()

错误在此行上跳跃:

row_count = len(cur.fetchall)

您能帮我指望每69行显示sqlite3数据库中有多少行通道吗?

您正在尝试获取te cur.fetchall 方法对象的长度。 您没有调用该方法。

您可以在方法名称后添加()来调用它,并首先获取完整结果:

row_count = len(cur.fetchall())

但是,这几乎没有效率。 要求数据库获取行数:

cur.execute('SELECT COUNT(DISTINCT channel) FROM programs WHERE channel')
row_count, = cur.fetchone()

我假设你的意思是WHERE channel被视为布尔表达式 ; 强制转换为NUMERIC,任何非零的行都包含在计数中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM