如何在Python 3.6中隐藏input()?

时间:2018-08-29 14:25:15

标签: python python-3.x input

按Enter后,输入将停留在其中。例如:

myName = input()
print("My name is:" + myName)

输出将是:

Alex
My name is:Alex

但是我只想显示后者。我尝试使用getpass,但是有必要在键入时显示文本,而getpass隐藏它。我该怎么办?

3 个答案:

答案 0 :(得分:3)

import sys

myName = input()

sys.stdout.write("\033[F") # Cursor up one line

print("My name is:" + myName)

答案 1 :(得分:2)

根据平台,您可以在打印之前将光标向上移动一行:

myName = input()
print("\x1B[F\x1B[2K", end="")
print("My name is:" + myName)

中间行将光标向上移动并在POSIX终端中清除该行。

在Windows上,它变得越来越复杂,您需要一些库来调用Windows API来实现此目的。

答案 2 :(得分:0)

将两个语句合而为一!

myName = input("My Name is: ")

这样,将为Alex输入打印“我的名字是Alex”。另外,Alex被分配给“ myName”。

编辑:显然,这只是一种解决方法,不能专门回答您的问题。