-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Alternatively, I prefer something nicer:
import optparse p = optparse.OptionParser(usage="%prog [options]") p.add_option("--list1", action="store_const", const=["blue", "red", "green"], dest="worklist", help="use the first setting") p.add_option("--list2", action="store_const", const=["red", "yellow", "orange"], dest="worklist", help="use the second setting") opt, args = p.parse_args() if opt.worklist is None or len(args) != 0: p.print_help() raise SystemExit(2) This looks longer, but gives you a nice commandline parse that does not bomb out if you do not provide any argument, that is easy to expand, etc. [caveat: the code above is typed into my mailer, so untested, and from memory :) ] Andreas Terry Carroll wrote: > On Thu, 26 Jul 2007, jason wrote: > >> Hello, >> >> I have a situation where I have 2 lists >> >> List1 = ['blue', 'red', green'] >> List2 = ['red', 'yellow', 'orange'] >> >> And I would like to pass the list name on the command line like so >> >> ./test.py List1 >> >> I know I can get the argument using sys.argv[1] >> >> But how can I then use the values in that list inside my program? > > If you must do this, make a dictionary of the lists: > > d = {"List1": List1, "List2": List2} > > and index into it from your argument: > > l = d[sys.argv[1]] > > > > _______________________________________________ > Tutor maillist - Tutor@python.org > http://mail.python.org/mailman/listinfo/tutor -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGqPpoHJdudm4KnO0RAu7AAJwN6Zn4j7XcYQJvLAcEfA6G9l9IngCg4wBt QqB35uZDGZrSoqvJ+TT/Gww= =yOcf -----END PGP SIGNATURE----- _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor