gtb wrote: > In a function I can use the statement n = > sys._getframe().f_code.co_name to get the name of the current > function. Given that I can get the name how can I print the __doc__ > string? I cant use the following, it will tell me to bugger off as the > string has no such attribute. > > def spam(self): > n = sys._getframe().f_code.co_name > print n.__doc__ #Wrong > print __doc__ #No good either > #....
>>> import sys >>> def docstring(): ... return sys._getframe(1).f_code.co_consts[0] ... >>> def foo(): ... print "My docstring is %r" % docstring() ... >>> def bar(): ... "bar's docstring" ... print "My docstring is %r" % docstring() ... >>> foo() My docstring is None >>> bar() My docstring is "bar's docstring" No idea how brittle that might be, though. Peter -- http://mail.python.org/mailman/listinfo/python-list