I know what I dont like; a file starting w/ 20+ import lines, that just seems ugly and java-y (no-flame, just sayin) to me. OTOH, the as-needed-approach seems perhaps a little too, uhm, disorganized? Although Id guess Im probably more partial to that approach.
This is a pretty minor stylistic issue but I havent settled on one approach and I'd like some feedback to come to some conclusion once and for all.
For example,
import foo import baz import bar import quux import django.foo # etc
vs.
import sys
def some_os_thing(): import os print os.getcwd()
def some_http_thing(): import urllib print urllib.urlopen('http://...').read()