我必须在终端输入用户密码。谷歌搜索arround导致getpass
作为最推荐的方式。
但是,不知何故 - 使用此功能并未按预期隐藏字符。 首先,我认为它与平台(Pycharm)有关,但测试与IDLE产量相同。
任何想法为什么? (以下代码在Mac上使用Python shell)
>> import getpass
>>> a=getpass.getpass(prompt='Password')
Warning: Password input may be echoed.
PasswordTHISISPASSWORD
答案 0 :(得分:2)
答案 1 :(得分:2)
我用终端和PyCharm尝试了你的代码,它在终端上运行得更好但是我在PyCharm的运行配置中找到了一个复选框,它避免了密码的回显并正确地将它设置为变量,你可以看到调试器,但我注意到,如果你尝试在某些情况下打印变量,它会打印一些奇怪的东西。
单击运行按钮左侧的编辑配置... 并检查输出控制台中的模拟终端,它与最新版本的PyCharm一起使用
编辑:我刚刚读到你正在使用Mac,我用linux试过这个,所以我不确定它是否适用于mac答案 2 :(得分:0)
在最新版的Pycharm中,您要做的就是更新运行配置。
运行>编辑配置>启用“在输出控制台中仿真终端”
这使您的Pycharm输出控制台可以充当终端。然后,getpass()函数可以很好地工作而无需回显您的密码。