import
imports the module into the global namespace. from import
imports the named items into the namespace.
So with a plain import
you always have to reference the module:
>>> import datetime
>>> day = datetime.date.today()
But with an from import
you can reference the items directly:
>>> from datetime import date
>>> day = date.today()
If you use from somemodule import *
it will import everything from the module into your namespace. While this might seem convenient it's best not to do this. It's frowned upon as it's harder to tell which things have come from the module when reading the code and there's a possibility of collisions between names you use and names you have inadvertently imported from the module.
The easiest way to import a module from a different directory is to add that directory to your PYTHONPATH
.