Question about weakref

Frank Millman frank at chagford.com
Thu Jul 5 07:21:38 EDT 2012


On 05/07/2012 10:46, Dieter Maurer wrote:
> Frank Millman<frank at chagford.com>  writes:
>
>> I have a situation where I thought using weakrefs would save me a bit
>> of effort.
>
> Instead of the low level "weakref", you might use a "WeakKeyDictionary".
>

Thanks, Dieter. I could do that.

In fact, a WeakSet suits my purposes better. I tested it with my 
original example, and it works correctly. It also saves me the step of 
deleting the weak reference once the original object is deleted, as it 
seems to do that automatically.

I just need to double-check that I would never have the same 
listener-object try to register itself with the publisher twice, as that 
would obviously fail with a Set, as it would with a Dict.

I would still like to know why weakref.proxy raised an exception. I have 
re-read the manual several times, and googled for similar problems, but 
am none the wiser. Naturally I feel a bit uneasy using a feature of the 
language which sometimes fails mysteriously, so if anyone has an 
explanation, I would really appreciate it.

Frank




More information about the Python-list mailing list