开发者社区> 问答> 正文

python msvcrt模块怎么用?msvcrt.getch()怎么一直是阻塞状态?:报错

我要实现输入密码显示星号*,在网上搜到这段代码,但是运行之后一直无限显示星号*,求教是什么原因?代码如下:

#coding:utf-8 import msvcrt, sys

def pwd_input(): chars = [] while True: newChar = msvcrt.getch() if newChar in '\r\n': # 如果是换行,则输入结束 print '' break elif newChar == '\b': # 如果是退格,则删除末尾一位 if chars: del chars[-1] sys.stdout.write('\b \b') # 删除一个星号 else: chars.append(newChar) sys.stdout.write('*') # 显示为星号 print ''.join(chars)

pwd = pwd_input() print pwd



展开
收起
kun坤 2020-06-06 14:59:00 880 0
1 条回答
写回答
取消 提交回答
  • 同求,上网搜了一堆,目前没有找到原因,如果你有答案了,告知一声。谢谢######换了台电脑,没这个问题了######没有大神回答啊######换了一台电脑,python2.7.9,在cmd里运行,一切正常......不知道什么原因,晚上试试家里电脑

    2020-06-06 14:59:07
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载