我必须在终端中输入用户密码。在谷歌周围搜索会发现getpass
是最值得推荐的方式。
但是,不知何故-使用这个函数并没有像预期的那样隐藏字符。首先,我认为这与平台( Pycharm )有关,但测试是在空闲收益率上相同的。
你知道为什么吗?(下面的代码是在Mac上使用Python shell的)
>> import getpass
>>> a=getpass.getpass(prompt='Password')
Warning: Password input may be echoed.
PasswordTHISISPASSWORD
发布于 2018-03-27 11:28:43
如果您要从IDE启动它,将会看到回声。你可以在命令行终端中尝试它,它工作得很好,可以在附件的截图中看到。
希望这能有所帮助
发布于 2018-03-27 11:40:24
我在终端和PyCharm上测试了你的代码,它在终端上工作得更好,但我在PyCharm的运行配置中发现了一个复选框,它避免了密码的回显,并将其正确设置为变量,就像你在调试器中看到的那样,但我注意到,如果你试图打印变量,在某些情况下它会打印出一些奇怪的东西。
单击Edit Configurations...在run按钮的左侧,选中output console中的Emulate terminal,它可以与最新版本的PyCharm一起使用
编辑:我刚刚看到你用的是Mac,我在linux上试过了,所以我不确定它是否能在mac上运行
发布于 2019-10-22 16:08:54
在最新版本的Pycharm中,您所要做的就是更新您的运行配置。
Run>编辑Configurations>启用“在输出控制台中模拟终端”
这使您的Pycharm输出控制台能够充当终端。然后,getpass()函数可以很好地工作,而不需要回显您的密码。
https://stackoverflow.com/questions/49511496
复制相似问题