File: class/Workbook/Exercises/Lab5/ex1.txt
[The basic solution] % cat mymod.py def countLines(name): file = open(name, 'r') return len(file.readlines()) def countChars(name): return len(open(name, 'r').read()) def test(name): # or pass file object return countLines(name), countChars(name) # or return a dictionary % python >>> import mymod >>> mymod.test('mymod.py') (10, 291) [Passing an open file object] % cat mymod2.py def countLines(file): file.seek(0) # rewind to start of file return len(file.readlines()) def countChars(file): file.seek(0) # ditto (rewind if needed) return len(file.read()) def test(name): file = open(name, 'r') # pass file object return countLines(file), countChars(file) # only open file once >>> import mymod2 >>> mymod2.test("mymod2.py") (11, 392)