任务描述
本关任务:编写统计文件夹下不同文件类型的数量和大小的程序。
相关知识
为了完成本关任务,你需要掌握如何获取文件的信息
os模块
os模块为系统内置模块,提供了对系统环境、文件、目录等操作系统级的接口函数 listdir() 返回指定目录下的所有文件和目录名 path.isfile() 检验是否是一个文件 path.splitext() 文件名和扩展名分离 os.path.getsize() 获取文件大小
注意:上述函数需要将文件夹和文件的完整路径作为参数
测试说明
wjcl/src/test文件夹下各种扩展名文件的数量及大小 预期输出: 文件类型jpg文件数10文件大小408.79KB 文件类型pptx文件数3文件大小919.08KB 文件类型mp3文件数5文件大小58094.33KB 文件类型txt文件数4文件大小4.16KB
提示:可以使用两个字典存放不同类型文件的数量和不同类型文件的大小
注意:由于在该文件夹下会有一个.gitkeep的默认文件,在统计时需要排除该文件
智慧、勤劳和
import os
wjzd={}
wjsize={}
lj="wjcl/src/test"
#代码开始
l=os.listdir(lj)
s,d,f,g=0,0,0,0
for i in l:
if '.gitkeep' in i:
continue
else:
a=os.path.splitext(i)
b=os.path.getsize("wjcl/src/test/"+i)
wjsize[a[1]]=wjsize.get(a[1],0)+b
wjzd[a[1]]=wjzd.get(a[1],0)+1
#代码结束
for x in wjzd:
print("文件类型{}文件数{}文件大小{:.2f}KB".format(x,wjzd[x],wjsize[x]/1024))
天才,高于显贵和富有。 开始你的任务吧,祝你成功!