password の入力を terminal で受け付けるとして,ふだん sudo
するときみたいに入力を表示させない感じで受け取りたい.
password = raw_input("password: ")
print "thanks"
とかやると
password: my_very_long_password
thanks
っなってよくないので.
さすが python, そこで import getpass
.
import getpass
password = getpass.getpass("prompt: ")
でいい感じになる.デフォルト (getpass.getpass()
)では 'Password: '
が prompt.
この getpass
module にはもうひとつ, getuser()
っていう関数がついてきており, Unix, Windows 系でユーザの login name を返してくれる.僕の login name は秘密です.
getpass.py
を読んでみると死ぬほど複雑なことをしてるってわけでもなく,ちょっと掘り下げるといいことありそうだという気がする.