[Doc-SIG] PEP 257 question
Michael Foord
fuzzyman at voidspace.org.uk
Thu Jul 23 13:24:17 CEST 2009
Fred Mailhot wrote:
> 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").[...]"
I wasn't aware of that advice. Hmmm...
Anway - how about this:
import sys
module = sys.modules['__main__'] # or [__name__]
docstring = module.__doc__
All the best,
Michael
>
> 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.
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Doc-SIG maillist - Doc-SIG at python.org
> http://mail.python.org/mailman/listinfo/doc-sig
>
--
http://www.ironpythoninaction.com/
More information about the Doc-SIG
mailing list