* David:
I have a module toolkit.py with some functions I use often.  One of
these functions displays a usage message (__doc__).

def usage(messages=[], exit=-1):
    """Print the doc string as wells as any useful messages."""
    print(__doc__)
    for message in messages:
        print("\033[91m{}\033[0m".format(message))

Consider using a terminal control library such as 'curses' instead of embedding escape sequences directly in the text, since escape sequences vary from terminal to terminal.


    if exit >= 0:
        sys.exit(exit)

I import this module into another module, with the doc string I want
to display.  However, calling usage prints toolkit's doc string
(None), not the current module's doc string.

The function doesn't know where it's called from.

You have to tell it, or dynamically create a module-specific function.

One way to tell it is to pass the current module as an argument.


How can I access the top level module's doc string from toolkit?

Like

    import __main__
    print_usage( __main__ )

with suitable definition of 'usage'.


Cheers & hth.,

- Alf
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to