Advertisement
Guest User

Untitled

a guest
Apr 27th, 2015
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. import os, sys, json
  4.  
  5. def get_dir_size(base_dir):
  6. total_size = 0
  7. for dirpath, dirnames, filenames in os.walk(base_dir):
  8. if '/.' in dirpath:
  9. continue
  10. for f in filenames:
  11. if '/.' in f:
  12. continue
  13. fp = os.path.join(dirpath, f)
  14. total_size += os.path.getsize(fp)
  15. return total_size
  16.  
  17. def get_files_by_file_size(path):
  18. items = []
  19. for basename in os.listdir(path):
  20. filename = os.path.join(path, basename)
  21. if '/.' in filename:
  22. continue
  23. if os.path.isfile(filename):
  24. items.append({'name': filename, 'size': os.path.getsize(filename)})
  25. elif os.listdir(filename) != []:
  26. items.append({'name': filename, 'size': get_dir_size(filename),
  27. 'children': get_files_by_file_size(filename)})
  28. return items
  29.  
  30. files = {'name': sys.argv[1],
  31. 'size': get_dir_size(sys.argv[1]),
  32. 'children': get_files_by_file_size(sys.argv[1])}
  33.  
  34. print json.dumps(files)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement