Difference between revisions of "Python starter script"

From Noah.org
Jump to navigationJump to search
(New page: Category:Engineering Category:Python This is what I use to start most of my simple python scripts. <pre> #!/usr/bin/env python """This describes how to use the script. This script...)
 
Line 30: Line 30:
  
 
def main ():
 
def main ():
     (options, args) = parse_args(')
+
     (options, args) = parse_args('v')
 
     # if args<=0:
 
     # if args<=0:
 
     #    exit_with_usage()
 
     #    exit_with_usage()
 +
    if '-v' in options:
 +
        verbose_flag = True
 +
    else:
 +
        verbose_flag = False
  
 
if __name__ == "__main__":
 
if __name__ == "__main__":

Revision as of 16:30, 6 June 2007


This is what I use to start most of my simple python scripts.

#!/usr/bin/env python
"""This describes how to use the script. This script docstring documents the script
and will also be printed by exit_with_usage() if there is a problem or if the
user requests help (-?, --help, etc.).
"""
import sys, os, traceback
import re
import getopt
from pexpect import run, spawn

def exit_with_usage():
    print globals()['__doc__']
    os._exit(1)

def parse_args (options=None, long_options=None):
    try:
        optlist, args = getopt.getopt(sys.argv[1:], options+'h?', long_options+['help','h','?'])
    except Exception, e:
        print str(e)
        exit_with_usage()
    options = dict(optlist)
    if [elem for elem in options if elem in ['-h','--h','-?','--?','--help']]:
        exit_with_usage()
    return (options, args)

def main ():
    (options, args) = parse_args('v')
    # if args<=0:
    #     exit_with_usage()
    if '-v' in options:
        verbose_flag = True
    else:
        verbose_flag = False

if __name__ == "__main__":
    try:
        main()
    except Exception, e:
        print "ERROR, UNEXPECTED EXCEPTION"
        print str(e)
        traceback.print_exc()
        os._exit(1)