old_contents: import sys;s='%s: lines %d, RaSa: %d'
  def u(z):
   r=I=0;b=1
   for m in open(z):
    r+=1
    for k in m:
     if '{'==k:b+=1
     if ';'==k:I+=b
     if '}'==k:b-=1
   return(r,I)
  c=D=0
  for z in sys.argv[1:]:
   r,I=u(z);c+=r;D+=I;print s%(z,r,I)
  print s%('total',c,D)
new_contents: #!/usr/bin/env python
  import argparse
  
  
  def calculate_file_rasa(file_path):
      row_count = 0
      multiplier = 1
      rasa = 0
  
      for line in open(file_path):
          row_count += 1
          for char in line:
              if char == '{':
                  multiplier += 1
              if char == ';':
                  rasa += multiplier
              if char == '}':
                  multiplier -= 1
      return (row_count, rasa)
  
  
  def main(args):
      total_rows = 0
      total_rasa = 0
      for file_path in args.argument:
          row_count, rasa = calculate_file_rasa(file_path)
          total_rows += row_count
          total_rasa += rasa
          print '%s: lines %d, RaSa: %d' % (file_path, row_count, rasa)
      print 'total: lines %d, RaSa: %d' % (total_rows, total_rasa)
  
  
  if __name__ == '__main__':
      parser = argparse.ArgumentParser()
      parser.add_argument('argument', nargs='*')
      main(parser.parse_args())
  
subject: Revert to try cleanest solution