ok, try this: Try: filename=sys.arv[1] except Exception, e: if filename='': filename='foo' # define a default value else: if foo: # detect one likely error foobarcode else: if bar: # detect another one morefoobarcode else: # final catchall for things you # did not anticipate Print 'how the heck did you accomplish this?!? I QUIT~! sys.exit(13)
i has something vauely like this in the wiki on the slab right now, except it was addressing the query string. other than that, same problem. another idea is simply detect that there IS a argument; if sys.argv[1]; filename=sys.argv[1] if condition: do something else: do this instead else: filename="foo" which avoids try altogether. Somehow I kinda like this way more. Luke Paireepinart wrote: > Kirk Bailey wrote: >> Teresa Stanton wrote: >> >>> If one argument to a script is provided I am to take the input from >>> it. I figure that is presented like this: >>> >>> filename = sys.argv[1] >>> >> Try: >> > the 'try' keyword is not capitalized in Python. >> filename=sys.arg[1] >> except exception, E: >> > you should only catch the exception you expect, so you don't > accidentally silence an unrelated error. > so > except IndexError: > because you're trying to index into a list that might not have 2 or more > elements. >> filename='FooBar' >> > You said you wanted the input from standard input, so just put a > raw_input here. > > so the new code is: > > try: filename = sys.argv[1] > except IndexError: filename = raw_input("Prompt: ") > > HTH, > -Luke > > -- Salute! -Kirk Bailey Think +-----+ | BOX | +-----+ knihT Fnord. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor