0、编写一个步调,统计当前目次下每个文件范例的文件数 ——————————————————————————————————————————————————————————————— import os x=input("请输入文件夹路径:") print ("输出文件夹路径:",x) os.chdir(x) print ("枚举当前目次下的文件名:",os.listdir(path='.')) a=os.listdir(os.curdir)#相称于os.listdir(path='.'),表现当前文件夹下的全部文件,如许写更精确 print ("再次枚举当前目次下的文件名:",a) b=dict()#界说一个空字典,用来添补,各范例文件的数目 for e in a:#a是一个数组,界说 e 是 a 中的数值 if os.path.isdir(e): # os.path.isdir 用来判定 e 是否是文件夹,os.path.isfile() 用来判定 e 是否是文件 b.setdefault('文件夹', 0)#界说b的默认值,假如键不存在,则添加此键。跟get 雷同 b['文件夹'] += 1#文件夹键值加1 else:#否则,e不是文件夹,而是文件的时间 f = os.path.splitext(e)[1] #os.path.splitext 分离文件的文件名和扩展名,并将其生存在一个元组中,针对单个文件 #f即是这个元组中的第二个元素,就是f 是扩展名 b.setdefault(f,0)#重新界说一个新的默认值,假如没有就创建一个;假如有,就直接将其设为默认值即可 b[f]+=1#每过一个文件,都必要重新指定一下默认值,然后将默认值加1 print ("打印一下每一个文件分离后的样子,每一个文件都是一个元组:") print (os.path.splitext(e)) print ("打印一下文件夹中全部文件范例的数目:",b)#可以看到,b是一个字典 for c in b.keys():#c是b的键值 print("该文件夹下共有范例为 【%s】 的文件 【%d】 个" % (c,b[c])) #注意这种写法,%s %d , 后边的 % (c,b[c]) ,%前边没有逗号,后边的数据都有小括号 ——————————————————————————————————————————————————————————————— 输出效果: 请输入文件夹路径:D:\python\s 输出文件夹路径: D:\python\s 枚举当前目次下的文件名: ['01动动手.docx', 'a.txt', 'b.txt', '新建文件夹'] 再次枚举当前目次下的文件名: ['01动动手.docx', 'a.txt', 'b.txt', '新建文件夹'] 打印一下每一个文件分离后的样子,每一个文件都是一个元组: ('01动动手', '.docx') 打印一下每一个文件分离后的样子,每一个文件都是一个元组: ('a', '.txt') 打印一下每一个文件分离后的样子,每一个文件都是一个元组: ('b', '.txt') 打印一下文件夹中全部文件范例的数目: {'.docx': 1, '.txt': 2, '文件夹': 1} 该文件夹下共有范例为 【.docx】 的文件 【1】 个 该文件夹下共有范例为 【.txt】 的文件 【2】 个 该文件夹下共有范例为 【文件夹】 的文件 【1】 个 |