On 24/10/2013 11:38, Paradox wrote: > I am trying to learn about argparse and how best to incorporate it into > my scripts. I am using Python 2.7.5 on Ubuntu 13.10.
Welcome to python, and to python-tutor mailing list. And thanks for using text mode email, and for supplying both your Python version and OS. > > It seems from the argparse tutorial that all the arguments are processed > as global variables. Is that the standard way to do it or do you > normally (when doing real projects and not writing tutorials) process > the arguments in the main loop of the script? Not sure which tutorial you're using, but the refernce page: http://docs.python.org/3.3/library/argparse.html has some examples that are also at top-level, using globals. I wouldn't recommend that, as I try to minimize the number of non-const globals. The only component that might make sense as a global is the result dictionary, 'args' So the first example would become: import argparse def parse_my_args(): global args parser = argparse.ArgumentParser(description='Process some integers.') parser.add_argument('integers', metavar='N', type=int, nargs='+', help='an integer for the accumulator') parser.add_argument('--sum', dest='accumulate', action='store_const', const=sum, default=max, help='sum the integers (default: find the max)') args = parser.parse_args() Technically, I should just return args, but this is the way I do it for my own code. Although args is technically non-const, by making it a global, I am promising myself that nobody else will modify it once set up. -- DaveA _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor