I am always getting confused on whether a function would raise an IOError or OSError (or both?). What is the principle rule behind these exception types, what is the difference
There's no difference between IOError and OSError cause they mostly appear on similar commands like opening a file or removing one.