I have a small function that when passed a str that names a file that contains a program; it returns a 2-tuple with the number of the non-empty lines in that program, and the sum of the lengths of all those lines. Here is my current functioning code:
def code_metric(file_name): line_count = char_count = 0 with open(file_name) as fin: stripped = (line.rstrip() for line in fin) for line_count, line in enumerate(filter(None, stripped), 1): char_count += len(line) return line_count, char_count
Is there a way to implement this function using functionals such as map, filter, and reduce and small lambdas to pass to these functionals? I could make it work conventionally but having some issue with using functionals. Any help would be great.