有没有简单的方法来防止输入回声?

时间:2013-07-08 06:25:53

标签: python python-3.x

如何防止输入回声??

尝试了“getpass()”,但没有运气。

在Windows IDLE上,它不起作用

    Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import getpass
>>> p = getpass.getpass(prompt="Input: ")
Warning: Password input may be echoed.
Input: abc <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< It still echos..

在Windows的终端上,它可以正常工作

Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (In
tel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import getpass
>>> p = getpass.getpass(prompt="Input: ")
Input:
>>>

是否有一种简单的方法可以防止输入回声?

1 个答案:

答案 0 :(得分:3)

我假设你的第一个例子是IDLE。

来自getpass.win_getpass():

if sys.stdin is not sys.__stdin__:
    return fallback_getpass(prompt, stream)

IDLE用不同的对象替换sys.stdin。 getpass检测到某人已经包装stdin并因安全原因而失败。

请参阅:http://bugs.python.org/issue9290