StringIO do Python não se dá bem com declarações `with`

Eu preciso esboçartempfile eStringIO parecia perfeito. Só que tudo isso falha em uma omissão:

In [1]: from StringIO import StringIO
In [2]: with StringIO("foo") as f: f.read()

--> AttributeError: StringIO instance has no attribute '__exit__'

Qual é a maneira usual de fornecer informações enlatadas em vez de ler arquivos com conteúdo não determinístico?

questionAnswers(2)

yourAnswerToTheQuestion