Uppal, Deepali wrote: > Hello, Hello, and welcome to the world of Python. Don't take anything we say too personally, it is meant to help.
> I am facing a bit of a problem due to python implicitly > attaching a type to an object. Ooh. In general, don't say 'implicit'. For the most part, Python only does things explicitly. See the Zen of Python by opening a Python interpreter and typing "import this". > I will briefly tell you the problem that > I am facing. I am trying to print the docstring of a test case in > my pyUnit base test class. I accept the name of the test class as > a command line option. So instead of printing the docstring of > the test case, it prints the docString of a string object. Which is expected, because all command line options are strings. I assume you are getting the command line option using the idiom: import sys options = sys.argv[1:] > I would like to give an example here > import test_script > > gettatr( test_script.test_class.test_case, ‘__doc__’) I think you meant: print getattr(test_script.test_class.test_case, '__doc__') > With this simple code, I am able to print the docstring > of the test case. Yep, Python is simple and expressive. > However, since I accept the test case information as a command line > option. So instead of printing the docstring of the test case it > prints the docstring of a string object. Right, because all command line options are strings, since that is all the shell can really hand off to Python. > Is there someway, I can tell the script to change the type of > the object from string to an instancetype of a test case? In your first example, you import the test_script, and then do a getattr() on the test_class inside test_script.py. If you are trying to mimic that, and sending one or more test_script's, your code would look something like: import sys for test_module in sys.argv[1:] try: _module = __import__(test_module) _class = _module.test_class _case = _class.test_case print _case.__doc__ except ImportError: print "Couldn't import module '%s'. Skipping..." % test_module > I am quite a newbie in python so I would appreciate any help on this. The above should get you started, even though it won't satisfy your exact needs. -- Paul McNett http://paulmcnett.com -- http://mail.python.org/mailman/listinfo/python-list