babymaker  e95a6a9342d4604277fe7cc6149b6b5b24447d89
count_root_files.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 
3 ###### Script to count the number of .root files in all subfolders
4 import os, sys, subprocess
5 import glob
6 import string
7 import argparse
8 
9 parser = argparse.ArgumentParser(description='Process some integers.')
10 parser.add_argument("-f", "--folder", help="Folder fo find root files in", default="./")
11 args = parser.parse_args()
12 
13 def du(path):
14  """disk usage in human readable format (e.g. '2,1GB')"""
15  return subprocess.check_output(['du','-sh', path]).split()[0].decode('utf-8')
16 class bcolors:
17  BOLD = '\033[1m'
18  ENDC = '\033[0m'
19 
20 print "\n==== Counting number of root files in subfolders of "+bcolors.BOLD+args.folder+ bcolors.ENDC+"\n"
21 
22 subfolders = sorted([x[0] for x in os.walk(args.folder)])
23 for subfolder in subfolders:
24  files = glob.glob(subfolder+'/*.root')
25  if(len(files)>0):
26  sf_name = subfolder.split(args.folder)[1]
27  print '{:>5}'.format(str(len(files)))+" .root files, size "+'{:>4}'.format(du(subfolder))+" in "+bcolors.BOLD+sf_name+ bcolors.ENDC
28 
29 print
30 
31 sys.exit(0)