鱼C论坛

 找回密码
 立即注册
查看: 932|回复: 4

[已解决]第30讲,os.walk其中的files用法问题

[复制链接]
发表于 2018-5-5 18:39:00 | 显示全部楼层 |阅读模式

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

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

x
求教下os.walk那里的extend()用法
files应该是个列表把,但我用extend去添加他,会使list2不输出任何值。。是延迟问题吗(等了好久也没出现),还是算法问题??
QAQ


下面是我的第30讲课后题第0题的代码。。。
--------------------------------------------------------------

import os

def allcount(alist,types):
    count=0
    for each in alist:
        if types in each:
            count+=1
    print('该文件夹下共有类型为【%s】的文件%d个' % (types,count))

def sta(folder):
    list1=[]   #存放文件夹
    list2=[]   #存放文件

    for root,dirs,files in os.walk(folder,True):
        list1=list1.extend(dirs)
        list2=list2.extend(files)
        
    allcount(list2,'.txt')
    allcount(list2,'.png')
    allcount(list2,'.py')
    allcount(list2,'.doc')
   
    print('该文件夹下共有类型为【文件夹】的文件%d个' % len(list1))

        
folder=input('输入目录路径:')
sta(folder)
最佳答案
2018-5-6 07:48:41
咕咕鸡鸽鸽 发表于 2018-5-5 21:15
这里我查过用法的= 。= 分别是路径,包含目录,包含文件,如果只是一个each的话,应该不能涵括吧orz

不好意思哈 ,我一直没见过这种用法

哦,我的意思是,用一个each 同时改写其他部分的代码配合。抱歉哈,之前没有表述清楚
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-5-5 20:22:03 | 显示全部楼层
搞出来了- -输入路径不用戴‘ ’单引号的orz
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-5 20:22:25 | 显示全部楼层
hi

个人认为这行代码存在问题 for root,dirs,files in os.walk(folder,True):  #建议修改为  for each in os.walk(folder,True):
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-5 21:15:05 | 显示全部楼层
thexiosi 发表于 2018-5-5 20:22
hi

个人认为这行代码存在问题 for root,dirs,files in os.walk(folder,True):  #建议修改为  for each i ...

这里我查过用法的= 。= 分别是路径,包含目录,包含文件,如果只是一个each的话,应该不能涵括吧orz
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-6 07:48:41 | 显示全部楼层    本楼为最佳答案   
咕咕鸡鸽鸽 发表于 2018-5-5 21:15
这里我查过用法的= 。= 分别是路径,包含目录,包含文件,如果只是一个each的话,应该不能涵括吧orz

不好意思哈 ,我一直没见过这种用法

哦,我的意思是,用一个each 同时改写其他部分的代码配合。抱歉哈,之前没有表述清楚
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 10:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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