I need a python script counting lines in all text files in one directory and producing a general report on number of files with n number of lines.
The report should look like this:
Files with 1 line: 636
Files with 2 lines: 346
Files with 3 lines: 234
Files with 4 lines: 723
Files with 5 lines: 254
Files with 6 lines: 223
Files with 7 lines: 1464
etc.
I have found this script for counting lines in all files in a directory Python script to count num lines in all files in directory:
#!/usr/bin/env python
import csv
import copy
import os
import sys
import glob
#get current working dir, set count, and select file delimiter
os.chdir('/mydirectory')
#parses through files and saves to a dict
names={}
for fn in glob.glob('*.txt'):
with open(fn) as f:
names[fn]=sum(1 for line in f if line.strip() and not line.startswith('#'))
print names
#save the dictionary with key/val pairs to a csv
with open('seriescount.csv', 'wb') as f:
w = csv.DictWriter(f, names.keys())
sum(names.values())
How do we go about generating a simple report like the one above? Thanks.