Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python 3.6中隐藏input()?_Python_Python 3.x_Input - Fatal编程技术网

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

如何在Python 3.6中隐藏input()?,python,python-3.x,input,Python,Python 3.x,Input,按enter键后,输入保持不变。例如: myName = input() print("My name is:" + myName) 而产出将是: Alex My name is:Alex 但我只想显示后者。我尝试使用getpass,但在键入时必须显示文本,而getpass将其隐藏。我能做什么呢?将两条语句合并为一条 myName = input("My Name is: ") 这样,我的名字是Alex将被打印出来供Alex输入。另外,Alex被分配给myName 编辑:显然,这只是一种变

按enter键后,输入保持不变。例如:

myName = input()
print("My name is:" + myName)
而产出将是:

Alex
My name is:Alex

但我只想显示后者。我尝试使用getpass,但在键入时必须显示文本,而getpass将其隐藏。我能做什么呢?

将两条语句合并为一条

myName = input("My Name is: ")
这样,我的名字是Alex将被打印出来供Alex输入。另外,Alex被分配给myName


编辑:显然,这只是一种变通方法,并没有具体回答您的问题

将两个语句合并为一个

myName = input("My Name is: ")
这样,我的名字是Alex将被打印出来供Alex输入。另外,Alex被分配给myName


编辑:显然,这只是一种变通方法,并没有具体回答您的问题

根据平台的不同,您可以在打印前将光标上移一行:

myName = input()
print("\x1B[F\x1B[2K", end="")
print("My name is:" + myName)
中间行向上移动光标,并在POSIX终端中清除该行


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

根据平台的不同,您可以在打印前将光标上移一行:

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

myName = input()

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

print("My name is:" + myName)
中间行向上移动光标,并在POSIX终端中清除该行


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

一个解决方法是简单地将我的名字命名为:提示符:myName=inputMy name:。@chepner我的意思是,这解决了示例,但不是一般情况。因此,您希望在不查看键入内容的情况下键入。对吗?获取输入后是否要删除第一行?您必须使用您自己或类似的库。一般情况下,需要使用库来控制终端,这可能比它的价值更复杂。解决方法是简单地将我的名字命名为:提示符:myName=Input我的名字是:。@chepner我的意思是,这解决了这个示例,但不是一般情况。所以你想在不看你键入的内容的情况下键入。对吗?获取输入后是否要删除第一行?您必须使用您自己的或类似的库。一般情况下,需要使用库来控制终端,这可能比实际情况复杂得多。这仅在向模仿ANSI/VT100终端的窗口写入时有效。这仅在向模仿ANSI/VT100终端的窗口写入时有效。
import sys

myName = input()

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

print("My name is:" + myName)