On Wed, 17 Dec 2008 11:52:17 -0800 (PST), Rominsky <john.romin...@gmail.com> 
wrote:
On Dec 17, 10:59 am, Christian Heimes <li...@cheimes.de> wrote:
Rominsky schrieb:

> I am trying to use dir to generate a list of methods, variables, etc.
> I would like to be able to go through the list and seperate the
> objects by type using the type() command, but the dir command returns
> a list of strings.  When I ask for the type of an element, the answer
> is always string.  How do I point at the variables themselves.  A
> quick example is:

> a = 5
> b = 2.0
> c = 'c'

> lst = dir()

> for el in lst:
>     print type(el)

for name, obj in vars().iteritems():
    print name, obj

Christian

I do have some understanding of the pythonic methodology of
programming, though by far I still don't consider myself an expert.
The problem at hand is that I am coming from a matlab world and trying
to drag my coworkers with me.  I have gotten a lot of them excited
about using python for this work, but the biggest gripe everytime is
they want their matlab ide.  I am trying to experiment with making
similar pieces of the ide, in particular I am working on the workspace
window which lists all the current variables in the namespace, along
with their type, size, value, etc....  I am trying to create a python
equivalent.  I can get dir to list all the variables names in a list
of strings, but I am trying to get more info them.  hence the desire
to do a type command on them.  I like the locals and globals commands,
but I am still trying to get more info.  I have started using the eval
command with the strings, which is working, but I am curious if there
is a better or more elegant way of getting the info.  The eval example
would be something like:

a = 5
b = 2.0
c = 'c'

lst = dir()

for el in lst:
  print el + '\t' + str(eval('type(%s)'%el))

It works, now I am curious if there is a better way.


What about this:

for name, obj in vars().iteritems():
    print name, obj

Christian

Jean-Paul
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to