Session04

There are some nice ideas here, but this isn't quite as robust as you might expect or intend. What happens if the data in the file isn't properly formatted? Does the file close? I recommend making use of the [finally](https://docs.python.org/2/tutorial/errors.html#defining-clean-up-actions) statement in `try...except...finally`.

Also, multiple return statements tend to make code less readable. Whether or not the function encounters an IOError it (assuming another error isn't raised) will pass back a dictionary. Since the function can only return one type of object using one `return` statement for either path will reduce the mental effort required to read and understand this function. 

Having said all that, as you saw last night, this whole block can be replaced using the `with` context manager.