Lou Pecora schrieb: > I've been scanning Python in a Nutshell, but this seems to be either > undoable or so subtle that I don't know how to do it. > > I want to subclass a base class that is returned from a Standard Library > function (particularly, subclass file which is returned from open). I > would add some extra functionality and keep the base functions, too. > But I am stuck. > > E.g. > > class myfile(file): > def myreadline(): > #code here to return something read from file > > Then do something like (I know this isn't right, I'm just trying to > convey the idea of what I would like) > > mf=myfile() > > mf=open("Afile","r") > > s=mf.myreadline() # Use my added function > > mf.close() # Use the original file function > > > Possible in some way? Thanks in advance for any clues.
Nope, not in that way. But you might consider writing a proxy/wrapper for an object. That looks like this (rouch sketch from head): class FileWrapper(object): def __init__(self, f): self._f = f def __getattr__(self, name): return getattr(self._f, name) def myreadline(self): .... Then you do f = FileWrapper(open(name, mode)) Diez -- http://mail.python.org/mailman/listinfo/python-list