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)