Python — как скрыть вводимые символы

Привет! Иногда требуется скрыть вводимые символы — при введении пароля, например (а то будет как в бессмертном фильме «Тихушники» 🙂 ).
По крайней мере сейчас, в процессе работы над простеньким FTP-клиентом, который и будет только уметь, что:

  • Получать содержимое директории
  • Создавать директорию
  • Переходить в указанную директорию
  • Удалять файл
  • Удалять папку
  • Получать размер файла
  • Загружать файл на FTP
  • Загружать файл с FTP
  • причем, все это в стиле конца 80-хх годов — командная строка, и никаких окошек! Только так, только хардкор! Так вот — столкнулся с проблемой скрытия вводимых символов в процессе ввода пароля к FTP. Как решить эту проблему?

Именно на этот случай в Python имеется встроенная библиотека getpass, документация по которой доступна тут. Логика работы проста — выводим запрос данных, и скрываем сам ввод. Элегантно. Просто.

Пример кода — ниже:

  1. import getpass
  2. password = getpass.getpass('Pass: ')
  3. if password == '1234':
  4.   print('Ok!')
  5. elif password != '1234':
  6.   print('Problem :( ')

А вот пример работы кода:

Показать в нормальном рабочем виде — проблема, которая заключается в том, что мы запускаем код в виртуальной облачной машине, потому перехватывать поток вводимых данных не получается. В то же время обещаю — в локальном режиме все будет великолепно.

Видео с демонстрацией кода программы и примером работы:

Спасибо за внимание! Не забываем ставить лайки, и кликать на баннера 🙂