开发者社区> 问答> 正文

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

"我要实现输入密码显示星号*,在网上搜到这段代码,但是运行之后一直无限显示星号*,求教是什么原因?代码如下: <pre class=""brush:python; toolbar: true; auto-links: false;"">#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



" ![image.png](https://ucc.alicdn.com/pic/developer-ecology/d1bf131b39734d719d4f15ceabedcc26.png)

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

    2020-05-27 15:38:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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