鱼C论坛

 找回密码
 立即注册
查看: 17914|回复: 7

TypeError: object of type 'filter' has no len()请问是啥原因,谢谢

[复制链接]
发表于 2016-10-31 22:27:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
filepath = 'D:\\data'  #定义路径
filelist = os.listdir(filepath) #遍历文件夹所有的文件
file_raw_list = filter(lambda filename:filename[-7:] == '.tar.gz', filelist) #筛选出格式为.tar.gz的文件
len(file_raw_list)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-1 07:16:52 | 显示全部楼层
问的好
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-1 08:45:02 | 显示全部楼层
就只有这一点代码吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-1 16:59:58 | 显示全部楼层
MaoYi62498 发表于 2016-11-1 08:45
就只有这一点代码吗?

就是想在指定的目录下筛选出指定的文件类型,之后判断它的个数,所以只有这一点代码。不知道哪里有问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-2 14:35:23 | 显示全部楼层
filter对象的len不能这么用
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-2 14:37:47 | 显示全部楼层
http://www.cnblogs.com/Xrinehart/p/3506467.html
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-4-9 10:26:20 | 显示全部楼层
蛋炒饭妖妖 发表于 2016-11-2 14:37
http://www.cnblogs.com/Xrinehart/p/3506467.html

您好!您给的这个链接我刚刚看过了,它上面说filter在满足判断条件下是会返回list类型的,为什么不能用len呢?能详细解释下么,谢谢了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-10 16:16:52 | 显示全部楼层
我也遇到过这个问题,我的解决方法是,用list转一下filter的类型
file_raw_list = list(filter(lambda filename:filename[-7:] == '.tar.gz', filelist))
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-23 15:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表