Getting directory size
Graham Fawcett
graham.fawcett at gmail.com
Mon Mar 21 12:54:08 EST 2005
Peter Hansen wrote:
> francisl wrote:
> > How can we get a full directory size (sum of all his data)?
> > like when we type `du -sh mydir`
> >
> > Because os.path.getsize('mydir') only give the size of the
directory
> > physical representation on the disk.
>
> os.popen('du -sh mydir') would be one approach.
>
> The harder way is to use os.walk('mydir') to scan all
> files in all subdirectories, and use os.stat() or
> os.path.getsize() to add up the sizes of each file.
With Orendorff's path module, this becomes a two-liner:
from path import path
dir_size = sum([f.size for f in path('mydir').walkfiles()])
With Python 2.4 genexps, you don't even need the square brackets...
http://www.jorendorff.com/articles/python/path/
Shoulda-been-added-to-the-standard-library'ly yours,
-- Graham
More information about the Python-list
mailing list