У сьогоднішній статті ми будемо розбирати бібліотеку pwinput, яка дозволяє приховувати введенні користувачем символи у терміналі. Тож, перейдемо до справи, розглянувши функціонал даної бібліотеки.
Встановлення
Windows:
pip install pwinputMacOs:
pip3 install pwinputLinux:
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. Сподіваюсь, що дана стаття була корисна та цікава! Дякую за увагу!