시나리오 : 암호가 필요한 대화식 CLI Python 프로그램. 그것은 또한 가능한 GUI 솔루션이 없다는 것을 의미합니다.
bash에서는 화면을 통해 다시 프롬프트하지 않고 암호를 읽을 수 있습니다.
read -s
파이썬과 비슷한 것이 있습니까? 즉,
password = raw_input('Password: ', dont_print_statement_back_to_screen)
대안 : 입력 한 문자를 화면으로 다시 보내기 전에 ‘*’로 바꿉니다 (브라우저 스타일).
답변
>>> import getpass
>>> pw = getpass.getpass()
답변
예, getpass
: “에코없이 사용자에게 암호를 묻습니다.”
편집 : 아직이 모듈을 가지고 놀지 않았으므로 이것이 방금 요리 한 것입니다 (그러나 모든 곳에서 비슷한 코드를 찾으면 놀라지 않을 것입니다).
import getpass
def login():
user = input("Username [%s]: " % getpass.getuser())
if not user:
user = getpass.getuser()
pprompt = lambda: (getpass.getpass(), getpass.getpass('Retype password: '))
p1, p2 = pprompt()
while p1 != p2:
print('Passwords do not match. Try again')
p1, p2 = pprompt()
return user, p1
(이것은 Python 3.x입니다. Python 2.x를 사용할 때 raw_input
대신 input
사용하십시오.)