Python,在不显示输入的情况下在控制台上检测键输入?

时间:2019-11-24 00:14:30

标签: python input console keypress

我想做的很简单。

我有一个代码可以检测何时按下按键以执行不同的操作。

我做了代码的测试版本

import keyboard

print('test press a number key')

while True:
    try:
        if keyboard.is_pressed('1'):
            print('1')
            break
        if keyboard.is_pressed('2'):
            print('2')
            break
    except:
        break

input()

这是控制台上的结果。

test press a number key
2
2

它向我显示打印功能的“ 2”,并且还向我显示我输入的“ 2”。 基本上,有没有一种方法可以使它不显示我在控制台上输入的内容,而仅显示打印内容?

1 个答案:

答案 0 :(得分:1)

在python中使用getpass:

import getpass
secret_input = getpass.getpass(prompt="Enter hidden input: ")

在非Windows或UNIX系统上,您可以使用以下命令关闭回显以进行常规输入:

import os
os.system("stty -echo")

并使用以下命令将其重新打开:

os.system("stty echo")