> I don't know if I should be inheriting file or just using a file > object. > How would I determine which one would be more appropriate?
Inheritance is often refered to as an IS relation, whereas using an attribute is a HAS relation. If you inherit from file, all operations for files should be valif for your class also. Usually the file-operations would be directly inherited and not overwritten. However, if you don't want to expose all file functionalities, a HAS relation is more appropriate. if you plan to use your class as a file handle, e.g. for formatting output in a special way, I woould prefer to make the file an attribute: class myFile : def __init__(self,fname,mode="r") : self.file = file(fname,mode) def write_formatted(self,string) : # format string self.file.write() If you would tell as your use case, it would be easier to give you an advice. - harold - -- Yesterday is but today's memory and Tomorrow is today's dream. -- -- http://mail.python.org/mailman/listinfo/python-list