从IDLE运行时,“GetPassWarning:无法控制终端上的回显”

时间:2016-08-10 16:18:23

标签: python python-3.x

当我运行此代码时:

import getpass

p = getpass.getpass(prompt='digite a senha\n')
if p == '12345':
    print('YO Paul')
else:
    print('BRHHH')
print('O seu input foi:', p) # p = seu input

我收到了这个警告:

Warning (from warnings module):
   File "/usr/lib/python3.4/getpass.py", line 63
    passwd = fallback_getpass(prompt, stream)
GetPassWarning: Can not control echo on the terminal. Warning: Password input may be echoed.

4 个答案:

答案 0 :(得分:9)

使用实际终端 - 即stdinstdoutstderr/dev/tty或其他与PTY兼容的设备连接的环境。

IDLE REPL不符合此要求。

答案 1 :(得分:2)

而不是在尚未启动Python的终端中处理更改当前工作目录的问题(这意味着您键入类似python3 script.py的操作,除非已经指定了当前工作目录,否则它将失败),请启动在您的终端中使用Python,然后运行以下单行命令:

exec(open('C:\folder\script.py').read())

更改路径字符串'C:\folder\script.py'的位置以匹配文件在磁盘上的位置(字符串确实需要用引号指定)。

答案 2 :(得分:1)

使用cmd即。命令提示符,然后在其中运行文件。

喜欢:

SELECT * FROM subjects WHERE id IN ( SELECT id FROM seances WHERE teacherId = 'id_passed_as_parametre' )

答案 3 :(得分:0)

在终端而不是IDE中运行代码。您将看到那里不再有警告。 要运行代码,请在终端中输入以下命令:

python3 your_program.py