2015-10-29 22 views
0

文件有什么办法让Python中的函数,可以步行一个文件夹的文件&的列表清单分成基于“分区”(这将成为文件夹)每个分区/文件夹中文件的总大小(以兆字节为单位)?我不知道如何从这个开始或首先做什么。拆分设置根据大小在MB与Python

+0

是的!从'import os'开始。试试看,如果遇到问题,请告诉我们。 – RobertB

+0

(●▽●)!!甜!我会给它一个大学的尝试! –

回答

2

假设你想有一个起点,而不是在一个可以解决:

  • 使用os.walk扫描整个目录树。如果你只需要扫描一个文件夹,而不是整个树,可以优化有点不上的Python 3.5牺牲简单(特别是在Windows上)与新os.scandir功能,会给你免费在Windows stat信息(并使其访问作为* NIX系统上的延迟缓存值)。在早期版本的Python中,PyPI上的第三方模块scandir提供了相同的接口。
  • 如果不使用os.scandir,你会使用os.stat来获得文件大小
  • 使用collections.defaultdict(set)从文件大小以MB为单位映射到文件的set这一轮到的大小(或只是处理的文件,当您去,而不是存放在容器中)。另外,排序与sortedkey -ed的大小和使用itertools.groupby(与任何MB粒度你喜欢)到组生成的文件。
+0

这正是我需要的,谢谢! :D你甚至给了我关于使用哪个Python版本的信息,这非常有帮助。 –

相关问题