Python/使用in将多个文件按其大小重新组合到列表中

2024-09-29 20:31:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我想分组几个文件在一个文件夹,根据他们的大小。但是,此大小必须在+-200字节的间隔内。也就是说,如果一个文件重2698752字节,而另一个文件重2698700字节,那么它仍然属于同一组。因此,我们将得到一个文件夹的所有文件的几个列表,每个文件夹之间的大小接近200字节。 就像这个:

[ 'DataGridViewNumericUpDownElements.dll']
[ 'ExpandableGridView.dll']
['Important Document.jpg']
['P1080495.JPG', 'P1080495-2.JPG']
[ 'Redsn0w_win_0.9.15b3.zip']

通过使用itertools.groupby,根据文件大小对文件进行分组相对容易。但是,我不明白如何在我的代码中实现我的间隔。。。实际上,我当前的代码将具有相同大小的文件分组

有人能帮我朝正确的方向走吗?:)

这是我的密码:

import os
import os.path
import itertools



#get the filenames in this directory
filenames = [filename for filename in os.listdir(".") if os.path.isfile(filename)]

filenames.sort(key=lambda name: os.stat(name).st_size)

#group by size and iterate

for size, items_iterator in itertools.groupby(filenames, key=lambda name: os.stat(name).st_size):
    items = list(items_iterator)
    print items

我希望已经说清楚了:)


Tags: 文件nameinimport文件夹size间隔字节

热门问题