Python getpass fungerer ikke på Windows Git Bash (MINGW64)

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har denne enkle python kode for at få en adgangskode uden at ekko det.


import getpass

password = getpass.getpass("Password: ")
print(password)


Denne kode fungerer som forventet på Linux, men i Windows Git Bash lader jeg mig skrive på ubestemt tid. Som en løsning kan jeg bruge scriptet fra PowerShell, men det er irriterende at skifte skaller bare for at køre et script.


Kender du andre non-echoing biblioteker i Python eller nogen løsning for dette problem?

Bedste reference


Lad mig foreslå en løsning ved hjælp af msvcrt (jeg testede det ikke på Git Bash) løftet fra dette svar


import sys
import msvcrt

sys.stdout.write("Password: ")
sys.stdout.flush()
password = ''
while True:
    x = msvcrt.getch()
    if x == '
':
        break
    sys.stdout.write('*')
    password +=x

print()
print(password)