I'm proposing to accept PEP 278 and let Jack check it in.
There will probably be some small issues with the code (though it passes the test suite on my Linux box), but I expect the only way to tease those out is to check it in first.
Jack did an admirable job of answering all questions about the patch, adding doc patches and unit tests, and so on.
Unless there's significant uproar about this within 48 hours, I'll approve the PEP.
I maintain that a separate constructor (e.g. textfile) would be a much cleaner solution.
it's a completely different kind of file object, after all.
other than that, I see no problems with concept and implementation (you should have done it this way from the start ;-)