Ответ 1
>>> import getpass
>>> pw = getpass.getpass()
Сценарий: интерактивная программа Python CLI, которая нуждается в пароле. Это означает, что графического интерфейса не существует.
В bash я мог бы прочитать пароль без повторного запроса его на экране через
read -s
Есть ли что-то подобное для Python? То есть.
password = raw_input('Password: ', dont_print_statement_back_to_screen)
Альтернатива: перед тем, как отправить их обратно на экран (например, стиль браузера), замените введенные символы "*".
>>> import getpass
>>> pw = getpass.getpass()
Да, getpass
: "Запросить пароль для пользователя без эха."
Изменить: Я еще не играл с этим модулем, так что это то, что я только что приготовил (не удивлюсь, если вы найдете похожий код повсюду):
import getpass
def login():
user = input("Username [%s]: " % getpass.getuser())
if not user:
user = getpass.getuser()
pprompt = lambda: (getpass.getpass(), getpass.getpass('Retype password: '))
p1, p2 = pprompt()
while p1 != p2:
print('Passwords do not match. Try again')
p1, p2 = pprompt()
return user, p1
(Это Python 3.x, используйте raw_input
вместо input
при использовании Python 2.x.)