15c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# Copyright 2014 The Chromium Authors. All rights reserved. 25c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 35c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# found in the LICENSE file. 45c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 55c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)import os 65c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 75c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 85c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)def GetRecursiveDiskUsage(path): 95c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) """Returns the disk usage in bytes of |path|. Similar to `du -sb |path|`.""" 105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) running_size = os.path.getsize(path) 115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) if os.path.isdir(path): 125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) for root, dirs, files in os.walk(path): 135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) running_size += sum([os.path.getsize(os.path.join(root, f)) 145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) for f in files + dirs]) 155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return running_size 165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)