On Wed, 18 Apr 2012 08:56:24 -0700, cheung wrote: > how does the function "dir" works, where can I get the python-c source > of dir in py2.7 project.
Look for the function builtin_dir in Python/bltinmodule.c of the source code. > I looked the python_c source for hours, can't find how dir works. > > for example: > if a user input a *.py source file like foo.py, i wanna parse the > file, and find all the functions and all the classes in the foo.py. dir() will not help you parse a Python source code file. Read the Fine Manual: dir() takes as argument an object, not source code or a file name. http://docs.python.org/library/functions.html#dir In general, you cannot find all the functions and classes created by module foo unless you actually execute the code in foo. The best way to do that is to use import or __import__. The second-best way is to use some variation of exec or execfile on the source code. Be sure to pass your own namespace to ensure you don't overwrite code your own functions with those from the foo file. To analyse the source code without executing it, use the tokenize module: http://docs.python.org/library/tokenize.html -- Steven -- http://mail.python.org/mailman/listinfo/python-list