Anda tahu caranya di Linux ketika Anda mencoba beberapa hal Sudo yang memberitahu Anda untuk memasukkan kata sandi dan, saat Anda mengetik, tidak ada yang ditampilkan di jendela terminal (kata sandi tidak ditampilkan)?
Apakah ada cara untuk melakukan itu dengan Python? Saya sedang mengerjakan skrip yang membutuhkan informasi yang sangat sensitif dan ingin disembunyikan ketika saya mengetiknya.
Dengan kata lain, saya ingin mendapatkan kata sandi dari pengguna tanpa menunjukkan kata sandi.
sumber
getpass()
adalah agar tidak ada yang bisa melihat kode sumber dan mengetahui kata sandi Anda hanya dengan membacanya, dan tidak ada yang bisa mendapatkan kata sandi Anda hanya dengan menatap dari atas bahu Anda dan membaca kata sandi Anda dari layar ketika Anda mengetiknya.getpass berfungsi di Linux, Windows, dan Mac.
sumber
Warning (from warnings module): File "C:\Python27\lib\getpass.py", line 92 return fallback_getpass(prompt, stream) GetPassWarning: Can not control echo on the terminal. Warning: Password input may be echoed.
di IDLE, tetapi bekerja dengan baik di command prompt, menemukan alasannya di siniimport sys
):getpass.getpass(
<string>,sys.stderr)
Gunakan getpass untuk tujuan ini.
sumber
Kode ini akan mencetak tanda bintang dan bukan setiap huruf.
sumber
getpass
jawabannya. Bagus15.7. getpass - Input kata sandi portabel
Anda dapat membaca lebih lanjut di sini
sumber
Memperbarui jawaban @Ahmed ALaa
MSVCRT kami hanya untuk windows, tapi getch dari PyPI harus bekerja untuk kedua (saya hanya diuji dengan linux). Anda juga dapat mengomentari / menghapus tanda komentar dua baris untuk membuatnya berfungsi untuk windows.
sumber