gpt4 book ai didi

Python 在当前目录中查找扩展名类型,对其进行计数并查找每种扩展名类型的最小、平均和最大文件大小

转载 作者:太空宇宙 更新时间:2023-11-03 21:37:39 25 4
gpt4 key购买 nike

SplitTypes=[]
for file in os.listdir(os.curdir):
SplitTypes.append(file.split('.')[-1])
collections.Counter(SplitTypes)

这给了我:

Counter({'txt': 2,
'ipynb': 38,
'Practical_Statistics': 1,
'DS_Store': 1,
'xlsx': 10,
'xls': 2,
'json': 9,
'csv': 3,
'workspace 2': 1,
'py': 2,
'templates': 1,
'ipynb_checkpoints': 1,
'log': 1,
'exec -l ': 1})

但我想添加每种扩展名的最小、平均和最大文件大小,因为列表或字典并不重要。我知道如何使用以下方法获取目录中每个单独的文件大小:

for file in os.listdir(os.curdir):
print(file, os.path.getsize(file))

但不确定如何根据扩展类型进行聚合

最佳答案

collections.Counter()只会返回计数,也许文件分组方法可能更简单。

你可以做什么:

1. 按扩展名对文件大小进行分组,可能使用 collections.defaultdict() .

2.对每组文件大小进行统计。

演示:

from os import curdir
from os import listdir

from os.path import getsize
from os.path import splitext

from collections import defaultdict

# 1
d = defaultdict(list)
for file in listdir(curdir):
_, extension = splitext(file)
d[extension].append(getsize(file))

# 2
for extension, file_sizes in d.items():
print('extension:', extension)
print('count:', len(file_sizes))
print('min file size:', min(file_sizes))
print('max file size:', max(file_sizes))
print('average file size:', sum(file_sizes) / len(file_sizes))

关于Python 在当前目录中查找扩展名类型,对其进行计数并查找每种扩展名类型的最小、平均和最大文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53146901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com