On Nov 23, 2:06 am, greg <[EMAIL PROTECTED]> wrote: > There's a fair amount of overhead associated with providing > the ability to set arbitrary attributes on an object, which > is almost never wanted for built-in types, so it's not > provided by default. > > You can easily get it if you want it by defining a Python > subclass of the type concerned.
Speaking of which, I've got a big file: >>> input = open('LoTR.iso') I'd like to get the md5 hash of the file: >>> import md5 >>> m = md5.new() I've also got this nifty standard module which will allow me, among other things, to copy an arbitrary file: >>> import shutil I'd like to say copy the file to my object, but it doesn't quite work: >>> shutil.copyfileobj(input, m) Traceback (most recent call last): File "<pyshell#20>", line 1, in <module> shutil.copyfileobj(source, m) File "C:\Python25\lib\shutil.py", line 24, in copyfileobj fdst.write(buf) AttributeError: '_hashlib.HASH' object has no attribute 'write' No problem, I'll just add an attribute: >>> setattr(m, 'write', m.update) Traceback (most recent call last): File "<pyshell#15>", line 1, in <module> setattr(m, 'write', m.update) AttributeError: '_hashlib.HASH' object has no attribute 'write' Anyone have an example of how to efficiently do this? Thanks! -- http://mail.python.org/mailman/listinfo/python-list