如何防止用户输入的密码显示在屏幕上?
您可以使用subprocess
模块根据您的操作系统执行"clear"
(linux/mac)或"cls"
(windows)命令。
>>> import subprocess,sys
>>> if sys.platform in ("linux2", "linux", "darwin"): #for linux/mac
... subprocess.call("clear")
... elif sys.platform.statswith("win"): #for windows
... subprocess.call("cls")
可能sys.platform
值的列表:
System platform value
Linux (2.x and 3.x) 'linux2'
Linux (py 3.3) 'linux'
Windows 'win32'
Windows/Cygwin 'cygwin'
Mac OS X 'darwin'
OS/2 'os2'
OS/2 EMX 'os2emx'
RiscOS 'riscos'
AtheOS 'atheos'
我可能推荐使用'try:except:'块来尝试linux/mac方法,然后在异常时使用windows方法?它应该特别提出一个'OSError'。这可能会使它更便携。 – SethMMorton 2013-05-04 06:52:18
@SethMMorton'sys.platform'是一个更好的选择。 – 2013-05-04 06:56:51
我认为'重置'命令是一个更好的选择。 – wei2912 2013-05-04 06:57:32
输入正确的方法密码是'stty的-echo'。然后清除屏幕将不是必需的。 – tripleee 2013-05-04 08:10:50