Windows環境でユーザ名とパスワードを入力する

Python Windows環境でユーザ名とパスワードをターミナルから入力する


通常の方法

Pythonでユーザ名やパスワードを端末から入力する方法として、もっともストレートな方法はinputgetpassを使用する方法です

import getpass

user_name = input('User Name: ')
print(f'User Name is "{user_name}"')

password = getpass.getpass()
print(f'Password "{password}"')

ただし、上記方法はWindows環境ではgetpass()がフリーズしてしまい使用できません


Windowsでの対処方法

sttyコマンドでechoを無効化することで、input()で入力時もユーザからの入力を隠蔽することができます

import getpass
import os

user_name = input('User Name: ')
print(f'User Name is "{user_name}"')

os.system('stty -echo')
password = input('Password: ')
os.system('stty echo')
print() # 最後のEnterで改行されないのでここで改行
print(f'Password is "{password}"')

おすすめ