Not sure what your trying to do, but it doesn't work. :) valid doesn't exsist, and if you make vaid = sys.stdin.readline().rstrip(), then answer doesn't exsist.
Either way, it doesn't take the tab tell after you hit enter, Not really what i was getting at. What i want is like a bash shell prompt. >From a bash shell prompt try ls <TAB> <TAB>, like that. (readline does that for bash, but i don't know how to get readline to do anything but python commands in python). Eli [EMAIL PROTECTED] wrote: > On a gui on this would be a little bit easier but it's a completley > diffrent realm when doing it in the console. It makes it a little more > difficult when using stdin.readline() because you can only read line by > line. Here is my implmentation. > > import sys > > validanswers = [ 'yes', 'no', 'maybe', 'tuesday', 'never' ] > while True: > sys.stdout.write("Answer the Question: ") > answer = sys.stdin.readline().rstrip() > for valid in validanswers: > if valid.startswith(answer.strip("\t")): > answer = valid > else: > print "Invalid Answer: Please enter a valid answer" > continue > break > print "You have answered, ", answer > > I'm at school and wasn't able to test it, but it looks like it should > work. > > Eli Criffield wrote: > > Here is what i want to do. I have a question in my program, and i want > > to do tab completion for the valid answers. > > > > Say i have : > > --snip-- > > validanswers = [ 'yes', 'no', 'maybe', 'tuesday', 'never' ] > > > > #and i ask > > > > sys.stdout.write("Answer the Question: ") > > answer = sys.stdin.readline().rstrip() > > if answer not in valid answers: > > print "Wrong!" > > --snip-- > > > > But what i want is when i enter the answer i can hit tab and it'll > > complete one of the validanswers > > I know i can do tab complete with readline and 'raw_input('> ')' but > > that's only to execute python commands right? > > > > Eli -- http://mail.python.org/mailman/listinfo/python-list