termios Example -- Python library reference



Prev: termios Up: termios Top: Top

8.7.1. Example

Here's a function that prompts for a password with echoing turned off. Note the technique using a separate termios.tcgetattr() call and a try ... finally statement to ensure that the old tty attributes are restored exactly no matter what happens:

def getpass(prompt = "Password: "):

import termios, TERMIOS, sys

fd = sys.stdin.fileno()

old = termios.tcgetattr(fd)

new = termios.tcgetattr(fd)

new[3] = new[3] & ~TERMIOS.ECHO # lflags

try:

termios.tcsetattr(fd, TERMIOS.TCSADRAIN, new)

passwd = raw_input(prompt)

finally:

termios.tcsetattr(fd, TERMIOS.TCSADRAIN, old)

return passwd



Prev: termios Up: termios Top: Top