ldk4188 发表于 2020-12-23 16:56:41

30讲问题

编写一个程序,统计当前目录下每个文件类型的文件数
import os


count_txt = 0
count_png = 0
count_py = 0
count_docx = 0
count_else = 0
y = os.listdir('D://asd')
for each in y:
    z = os.path.splitext(each)
    if '.txt' in z:
      count_txt += 1
    elif '.png' in z:
      count_png += 1
    elif '.py' in z:
      count_py += 1
    elif 'docx' in z:
      count_docx += 1
    else:
      count_else += 1

print('该文件夹下共有类型为【.txt】的文件为%d个' % count_txt)
print('该文件夹下共有类型为【.png】的文件为%d个' % count_png)
print('该文件夹下共有类型为【.py】的文件为%d个' % count_py)
print('该文件夹下共有类型为【.docx】的文件为%d个' % count_docx)
print('该文件夹下共有类型为【文件夹】的文件为%d个' % count_else)

这是我第30讲的动动手0的答案,请问是否太过繁琐?
还要就是如何判断元素是否为文件夹?
谢谢各位大佬

jackz007 发表于 2020-12-23 17:25:56

本帖最后由 jackz007 于 2020-12-23 18:08 编辑

import os , os . path
d = {}
for each in os . listdir('D:/asd'):
    x = os . path . join('D:/asd' , each)
    if os . path . isfile(x) :                     // 判断 x 是不是一个文件,if os . path . isdir(x) 用来判断 x 是不是一个文件夹。
       ext = os . path . splitext(each)
       d . setdefault(ext , 0)
       d += 1
for k , v in d . items():
    print(k , '\t' , v)
页: [1]
查看完整版本: 30讲问题