Использование getpass с Sublime Text

Как и в заголовке, я пытаюсь использовать библиотеку getpass с возвышенным текстом (и SublimeREPL.) Когда я запускаю простой фрагмент кода, я получаю только пустой экран в терминале Sublime и терминале REPL. Есть ли способ заставить getpass работать с возвышенным текстом? Я запустил тот же код в PowerShell Python, и он работал просто отлично.

import getpass
psswd = getpass.getpass(prompt = 'Password:')

1 ответ

Нет. Превосходный текст предоставляет основные функции терминала, а не фактический полный терминал.

Поскольку некоторые из основных компонентов терминалов не воспроизводятся в REPL или Sublime, вы не можете запустить getpass правильно из них.

Лучше всего придерживаться CMD или PowerShell.

Аналогично для Python IDLE:

>>> import getpass
>>> psswd = getpass.getpass(prompt = 'Password:')

    Warning (from warnings module):
      File "C:\Users\Simon\AppData\Local\Programs\Python\Python36-32\lib\getpass.py", line 100
        return fallback_getpass(prompt, stream)
    GetPassWarning: Can not control echo on the terminal.
    Warning: Password input may be echoed.
    Password:

Документация Python предупреждает вас об этом:

Если ввод без эха недоступен, getpass() возвращается к печати предупреждающего сообщения для потоковой передачи и чтению из sys.stdin и выдаче GetPassWarning.

https://docs.python.org/3/library/getpass.html

Другие вопросы по тегам