Python实现“各类型文件统计”功能

不多说了,直接看代码吧!

 

import os

path = 'e:/Download/'
kzm = []
kzmTemp = set()
kzmTemp2 = []
dict = {}

for root,dirs,files in os.walk(path):
    for file in files:
        ext = os.path.splitext(file)[1][1:]
        kzm.append(ext)
#遍历目录path,这里用到的splitext()方法是将文件名和扩展名分开,后面的[1]代表取扩展名([0]的话就代表取文件名了),由于splitext()方法取扩展名的时候,是连分隔文件名和扩展名的‘.’一起取的,所以[1:]的作用的是去掉扩展名前面点

 

for i in range(len(kzm)):
    kzm[i] = kzm[i].lower()
#全部变小写,避免例如exe和EXE系统会当做两种文件来处理的问题

 

for i in range(len(kzm)):
    kzmTemp.add(kzm[i])
#将List转换为Set,目的是为了将Set中的所有元素作为Dict中的Key,因为Set会自动剔除重复的元素

 

kzmTemp2 = [i for i in kzmTemp]
for i in range(len(kzmTemp2)):
    dict[kzmTemp2[i]] = 0
#这里构造了一个叫做dict的Dict(好绕嘴),并将所有的扩展名都作为dict的key,给所有的key都赋值为0

 

for i in range(len(kzm)):
    dict[kzm[i]] += 1
#遍历数组kzm,统计各扩展名出现的次数,然后将这个数字赋值给dict中相应的key

 

print('统计的目录为:%s' % path)
for key in dict:
    print('%s: %s' % (key,dict[key]))

 

 

 

 

 

代码一点也不优美,来回转换了N次数据类型,for了N次……‘

不过可以解决问题。知识有限,只能用一些“入门级”的方法去解决问题。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值