Привет! Иногда требуется скрыть вводимые символы — при введении пароля, например (а то будет как в бессмертном фильме «Тихушники» 🙂 ).
По крайней мере сейчас, в процессе работы над простеньким FTP-клиентом, который и будет только уметь, что:
- Получать содержимое директории
- Создавать директорию
- Переходить в указанную директорию
- Удалять файл
- Удалять папку
- Получать размер файла
- Загружать файл на FTP
- Загружать файл с FTP
- причем, все это в стиле конца 80-хх годов — командная строка, и никаких окошек! Только так, только хардкор! Так вот — столкнулся с проблемой скрытия вводимых символов в процессе ввода пароля к FTP. Как решить эту проблему?
Именно на этот случай в Python имеется встроенная библиотека getpass, документация по которой доступна тут. Логика работы проста — выводим запрос данных, и скрываем сам ввод. Элегантно. Просто.
Пример кода — ниже:
-
import getpass
-
password = getpass.getpass('Pass: ')
-
if password == '1234':
-
print('Ok!')
-
elif password != '1234':
-
print('Problem :( ')
А вот пример работы кода:
Показать в нормальном рабочем виде — проблема, которая заключается в том, что мы запускаем код в виртуальной облачной машине, потому перехватывать поток вводимых данных не получается. В то же время обещаю — в локальном режиме все будет великолепно.
Видео с демонстрацией кода программы и примером работы:
Спасибо за внимание! Не забываем ставить лайки, и кликать на баннера 🙂