On 2008-10-26 13:54, Martin Vilcans wrote: > Hi list, > > I'm wondering if there's a tool that can analyze a Python program > while it runs, and generate a database with the types of arguments and > return values for each function. In a way it is like a profiler, that > instead of measuring how often functions are called and how long time > it takes, it records the type information. So afterwards, when I'm > reading the code, I can go to the database to see what data type > parameter "foo" of function "bar" typically has. It would help a lot > with deciphering old code. > > When I googled this, I learned that this is called "type feedback", > and is used (?) to give type information to a compiler to help it > generate fast code. My needs are much more humble. I just want a > faster way to understand undocumented code with bad naming.
You could try the trace module: http://www.python.org/doc/2.5.2/lib/module-trace.html but I'm not sure whether that includes parameter listings. Or write your own tracing function and then plug it into your application using sys.settrace(): http://www.python.org/doc/2.5.2/lib/debugger-hooks.html#debugger-hooks The frame object will have the information you need: http://www.python.org/doc/2.5.2/ref/types.html#l2h-143 in f_locals. -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, Oct 27 2008) >>> Python/Zope Consulting and Support ... http://www.egenix.com/ >>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ :::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! :::: eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611 -- http://mail.python.org/mailman/listinfo/python-list