Python - 获取所有目录的文件扩展名

标签 python

我们有一个包含数十万个文件的硬盘

我需要弄清楚我们有多少个文件扩展名

我怎样才能用 python 做到这一点?

我需要它遍历每个目录。我公司的律师需要这个。它可以是整个硬盘驱动器的总数它不必按目录分割

例子:

1232 JPEG
11 exe
45 bat
2342 avi
532 doc

最佳答案

查看 os 模块中的 os.walk 调用并遍历整个目录树。使用 os.path.splitext 获取扩展。维护一个字典,其中键为 extension.lower() 并增加您遇到的每个扩展的计数。

import os
import collections
extensions = collections.defaultdict(int)

for path, dirs, files in os.walk('/'):
   for filename in files:
       extensions[os.path.splitext(filename)[1].lower()] += 1

for key,value in extensions.items():
    print 'Extension: ', key, ' ', value, ' items'

关于Python - 获取所有目录的文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4903878/

相关文章:

python - 如何使用 NaT 值正确处理整个 DataFrame 中的日期时间比较?

python - 我怎样才能加快网络应用程序的速度? (避免重建结构。)

python - For 循环得到错误说 (odd number - odd number)/2 is a float

python - cumsum 重置为 NaN_2

python - 使用 OpenCV python 和多线程运行两个视频

python - 当 'nan' 带有字符串时,Matplotlib 不打印任何内容

python - django.db.utils.OperationalError : my_table has no column id error?

python - 如何覆盖二进制数据的 JSONEncoder 行为?

Python 查找时间在列表中不连续

python - 尝试使用 Beaglebone Black 发送电子邮件时收到 getaddrinfo [Errno -2]