[Doc-SIG] PEP 257 question

Fred Mailhot fred.mailhot at gmail.com
Wed Jul 22 21:48:25 CEST 2009


Hi,

It is stated in PEP 257 that:

"The docstring of a script (a stand-alone program) should be usable as its
"usage" message, printed when the script is invoked with incorrect or
missing arguments (or perhaps with a "-h" option, for "help").[...]"

This is exactly what I'm trying to do, but I haven't been able to figure out
how to access a script's docstring from within it. That is, I'm assuming
(perhaps erroneously) that I can define some kind of usage function in my
script that will spit out the docstring, as in the following example

#!/usr/bin/python
"""
myscript.py

Usage:  python myscript.py <params>

Some more specific info here.
"""

[python code here]

def main():
    [do stuff here]

### THIS IS WHAT I'D LIKE TO DO... ###
def usage():
    sys.stderr.write(this.__doc__)
    sys.exit()
### EXCEPT OF COURSE "this" ISN'T DEFINED

if __name__ == "__main__":
    if [some condition is not satisfied]:
        usage()
    else:
        main()
################################

What should I be doing instead? I've Googled a bunch and turned up nothing,
so I may just not be looking for the right terms (Googling "python print
script docstring" gets me nothing).

Thanks!
Fred.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/doc-sig/attachments/20090722/e3265364/attachment.htm>


More information about the Doc-SIG mailing list