从python获取文件夹和所有文件大小的最佳方法是什么?

dan*_*els 6 python

如果将有少量文件,使用递归函数来传递所有文件并添加大小应该很容易,但是如果有很多文件,那么很多我真的意味着很多文件.

S.L*_*ott 10

你的意思是这样的?

import os
for path, dirs, files in os.walk( root ):
    for f in files:
        print path, f, os.path.getsize( os.path.join( path, f ) )
Run Code Online (Sandbox Code Playgroud)


Mar*_*wis 5

没有其他方法来计算大小而不是递归调用stat.这与Python无关; 操作系统只提供其他方式.

该算法不必是递归的; 你可以使用os.walk.

可能有两个例外,以提高效率:

  1. 如果要测量的所有文件都填充了一个分区,并且该分区没有其他文件,那么您可以查看该分区的磁盘使用情况.
  2. 如果您可以持续监视所有文件,或者负责自己创建所有文件,则可以生成增量磁盘使用量.