As far as the "os" versus "os.path" question; this is hinted in the Python documentation for modules that "os.path" can be an alias of, such as "os.posixpath"; there, it recommends "import os" and then referring to "os.path". In other words, there's no need to "import os.path".