David W. Lambert <lamber...@corning.com> added the comment: My file class extends text files with seek or read through condition or pattern, providing an awk like pattern{action} task separation.
If I allow a pre-existing stream into my constructor (subprocess.Popen my favorite) I still suffer the same garbage collection problem. class file(io.TextIOWrapper): 'add condition matching to a stream' def __init__(self,stream_or_name): a = stream_or_name buffer = (a.buffer if isinstance(a, io.TextIOWrapper) else io.BufferedReader(io.FileIO(a, 'r'))) super().__init__(buffer) Use this on a stream whose reference count goes to zero causes ValueError: I/O operation on closed file. Increasing stream's reference count by saving it with the object corrects it. I appreciate your considerations. Dave. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue5513> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com