Gabriel Genellina wrote: > Hello > > I have a script starting with a docstring. After compiling it with > compile(), is there any way I could get the docstring? __doc__ on the > code object doesn't work. > I can't use __import__ because the script has top-level statements > that have to be executed only once (it's not supposed to be used as a > module). > > --- begin test.py --- > body = """ > "This is a docstring" > > x=0 > some(code).toBeExecuted("later") > """ > > co = compile(body,'<string>','exec') > print co.__doc__ > > # what can I use for "something" below: ? > assert something(co)=="This is a docstring" > --- end test.py ---
>>> co.co_consts[list(co.co_names).index("__doc__")] 'This is a docstring' or probably just >>> co.co_consts[0] 'This is a docstring' as I cannot imaginge the docstring to have a non-zero index. Peter -- http://mail.python.org/mailman/listinfo/python-list