У сьогоднішній статті ми будемо розбирати бібліотеку pwinput
, яка дозволяє приховувати введенні користувачем символи у терміналі. Тож, перейдемо до справи, розглянувши функціонал даної бібліотеки.
Встановлення
Windows:
pip install pwinput
MacOs:
pip3 install pwinput
Linux:
pip install pwinput
Приховування введення
Отже, для того, щоб приховати своє введення нам потрібно застосувати функцію pwinput()
, потім у параметрі prompt
вказати текст, який буде відображатися у полі введення, та символ, яким ми хочемо приховати наше введення. А тепер перевіряємо роботу функції на практиці:
import pwinput
pwinput.pwinput(prompt="Enter secret key: ", mask="*")
Після запуску коду отримуємо такий результат:
Enter secret key: qwerty12345
Як ми бачимо, наше введення абсолютно ніяк не приховується. Якщо ви, як і я, використовуєте у якості IDE PyCharm, то у вас виникне така ж сама проблема. Насправді вирішення цієї проблеми є, і навіть цілих два варіанти, які ми розглянемо далі.
Виправлення проблеми з функціоналом pwinput() у PyCharm
1 варіант. Ми можемо просто запустити наш код не у вікні Run, а у вікні Terminal у тому ж середовищі PyCharm. Тобто запускати програму будемо безпосередньо у терміналі, а не у консолі. Щоб запустити програму у терміналі треба написати команду python main.py
(замість main.py може бути будь-яка назва вашого файлу з кодом).
2 варіант. Перейти у верхнє меню Run, обрати опцію Edit configurations, далі випадаючому списку Modify options обрати опцію Emulate terminal in output console і натиснути кнопку Run або OK (кнопка Run одразу запускає код з щойно встановленими налаштуваннями).
Таким чином, функція pwinput()
буде працювати коректно. Після застосування одного з цих варіантів знову запускаємо код і отримуємо:
Enter secret key: ************
Тепер наша програма працює як треба.
Інші приклади з pwinput()
Ось ще приклад з функцією pwinput()
, де ми не вказували параметр prompt
, а просто вказали параметр mask
:
data = pwinput.pwinput(mask="@")
print(f"Your password is '{data}'")
Password: @@@@@@@@@@@
Your password is 'qwerty12345'
Як бачимо, якщо не вказати параметр prompt
, то у полі введення буде відображатися просто ‘Password:
’.
І нарешті останній приклад, у якому ми не вказуємо жоден з параметрів:
data = pwinput.pwinput()
print(f"Your password is '{data}'")
Password: *******
Your password is 'gameboy'
Можемо спостерігати, що функція pwinput()
за замовчуванням приховує введення користувача символом ‘*
‘, якщо конкретний символ не заданий.
Висновок
У цій статті ми познайомилися з бібліотекою pwinput
, навчилися нею користуватися та вирішили проблему з її функціоналом у PyCharm. Сподіваюсь, що дана стаття була корисна та цікава! Дякую за увагу!