Получение пароля для командной строки в Python - PullRequest
185 голосов
/ 09 февраля 2012

Вы знаете, как в Linux, когда вы пробуете что-то из Sudo, он говорит вам ввести пароль, и при вводе ничего не отображается в окне терминала (пароль не отображается)?способ сделать это в Python?Я работаю над сценарием, который требует такой конфиденциальной информации и хотел бы, чтобы он был скрыт при вводе.

Другими словами, я хочу получить пароль от пользователя, не показывая пароль.

Ответы [ 5 ]

236 голосов
/ 09 февраля 2012

Использовать getpass.getpass():

password = getpass()

Необязательный запрос может быть передан в качестве параметра;по умолчанию "Password: ".

Обратите внимание, что для этой функции требуется соответствующий терминал, поэтому она может отключить отображение набранных символов - см. «GetPassWarning: невозможно управлять эхо на терминале» при запуске изIDLE для получения более подробной информации.

150 голосов
/ 08 ноября 2013
import getpass

pswd = getpass.getpass('Password:')

getpass работает в Linux, Windows и Mac.

26 голосов
/ 09 февраля 2012

Используйте getpass для этой цели.

getpass.getpass - запрашивает пароль у пользователя без повторения

11 голосов
/ 30 апреля 2017
import sys
import msvcrt

passwor = ''
while True:
    x = msvcrt.getch()
    if x == '\r':
        break
    sys.stdout.write('*')
    passwor +=x

print '\n'+passwor

Этот код будет печатать звездочку вместо каждой буквы.

0 голосов
/ 21 февраля 2019

15,7. getpass - Портативный ввод пароля

#!/usr/bin/python3
from getpass import getpass
passwd = getpass("password: ")
print(passwd)

Вы можете прочитать больше здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...