This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author LambertDW
Recipients LambertDW, MLModel, benjamin.peterson, georg.brandl, loewis, rhettinger
Date 2009-03-20.06:00:49
SpamBayes Score 3.177191e-07
Marked as misclassified No
Message-id <1237528852.92.0.0328457587297.issue5513@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2009-03-20 06:00:53LambertDWsetrecipients: + LambertDW, loewis, georg.brandl, rhettinger, benjamin.peterson, MLModel
2009-03-20 06:00:52LambertDWsetmessageid: <1237528852.92.0.0328457587297.issue5513@psf.upfronthosting.co.za>
2009-03-20 06:00:51LambertDWlinkissue5513 messages
2009-03-20 06:00:49LambertDWcreate