try:
f = open(file,'rb')
sys.stdout.write(f.read())
except IOError, (errno, strerror):
print 'I/O error(%s): %s' % (errno, strerror)
except:
print 'Unexpected error: %s' % (sys.exc_info()[0])
else:
f.close()

これで例外が発生したときfはcloseされますか?