Considere el siguiente ejemplo:
with open('a.txt') as f:
pass
# Is f supposed to be defined here?
He leído los documentos de idioma (2.7) para with-statement y PEP-343, pero por lo que puedo decir, no dicen nada sobre este asunto.
En CPython 2.6.5 fparece estar definido fuera del bloque with, pero prefiero no confiar en un detalle de implementación que podría cambiar.