我们从Python开源项目中,提取了以下15个代码示例,用于说明如何使用msvcrt.putch()。
def win_getpass(prompt='Password: ', stream=None): """Prompt for password with echo off, using Windows getch().""" if sys.stdin is not sys.__stdin__: return fallback_getpass(prompt, stream) import msvcrt for c in prompt: msvcrt.putch(c) pw = "" while 1: c = msvcrt.getch() if c == '\r' or c == '\n': break if c == '\003': raise KeyboardInterrupt if c == '\b': pw = pw[:-1] else: pw = pw + c msvcrt.putch('\r') msvcrt.putch('\n') return pw
def pwd_input(): print 'password:', chars=[] while True: try: newChar=msvcrt.getch().decode('utf-8') except: print u'??????cmd????????????.' return raw_input('password:') if newChar in '\r\n': break elif newChar=='\b': if chars: del chars[-1] msvcrt.putch('\b'.encode('utf-8')) # ?????? msvcrt.putch(' '.encode('utf-8')) # ?????? msvcrt.putch('\b'.encode('utf-8')) # ???? else: chars.append(newChar) msvcrt.putch('*'.encode('utf-8')) # ???? return ''.join(chars)
def puts(self,st): if self.posix: sys.stdout.write(st) else: for b in st: msvcrt.putch(b)
def getreply(): if sys.stdin.isatty(): return input('?') else: if sys.platform[:3]=="win": import msvcrt msvcrt.putch(b'?') key=msvcrt.getche() msvcrt.putch(b'\n') return key else: assert False,'platform not supported' # linux?:open('/dev/tty').readline()[:-1]