Using a fully-qualified path isn't really a hack; it's probably the proper solution to this particular issue. If you want a shorter name to type out, you could do something like this:
import filesystem.directory
class File(object):
def __init__(self):
self._Directory = filesystem.directory.Directory
def foo(self):
some_dir = self._Directory(...)
This also makes it trivial to swap in a mock if you're testing, et cetera.