On Wed, May 3, 2017 at 6:15 PM, Terry Reedy <tjre...@udel.edu> wrote: > On 5/3/2017 8:40 AM, Larry Martell wrote: >> >> On Wed, May 3, 2017 at 8:29 AM, Chris Angelico <ros...@gmail.com> wrote: >>> >>> On Wed, May 3, 2017 at 10:12 PM, Larry Martell <larry.mart...@gmail.com> >>> wrote: >>>> >>>> On Wed, May 3, 2017 at 12:57 AM, Chris Angelico <ros...@gmail.com> >>>> wrote: >>>>> >>>>> On Wed, May 3, 2017 at 5:53 AM, Larry Martell <larry.mart...@gmail.com> >>>>> wrote: >>>>>> >>>>>> And I can see it getting larger and larger. But I want to see what it >>>>>> is that is causing this. My thought was to put all the objects in a >>>>>> dict with their sizes and compare them as the program runs and report >>>>>> on the one that are growing. But I can't get the name of the object >>>>>> from gc.get_objects only the id. >>>>> >>>>> >>>>> Coming right back to the beginning here: What do you expect the name >>>>> of an object to be? >>>> >>>> >>>> The name of the variable in the program, e.g. sql, db_conn, rows, etc. >>> >>> >>> Name bindings are one-way. You can't go from the object to its name. >>> An object may have zero, one, or multiple names; and function-local >>> names could be used more than once. >> >> >> Yeah, that makes sense. >> >>> If you want an object to have a name for tracing purposes, you'll have >>> to give it one as some sort of attribute. > > >> A good trick to know. Thanks. > > > Python already uses this trick for functions, classes, and modules by giving > them .__name__ attribute. Code objects have a .co_name attribute. These > are used for tracing and tracebacks.
But not for a variable like a list or dict? -- https://mail.python.org/mailman/listinfo/python-list