Я пытался создать простую программу регистрации / входа, и я хотел скрыть пароль, поэтому я вышел в Интернет.
Я попробовал эту штуку под названием getpass, но она не сработала. Он просто сказал мне, что не может изменить эхо в оболочке IDLE (кстати, я использую IDLE Python 3.6 в Windows 10).
Поэтому мне было интересно, есть ли способ скрыть ввод без getpass или зашифровать его каким-либо другим способом?
Вот код:
class Account:
def __init__(self, un, pw):
self.un = un
self.pw = pw
accounts = []
#account signing up
def signup():
usernm = input("Make a username >>> ")
passwd = input("Make a password >>> ")
accounts.append(Account(usernm, passwd))
def signin():
inun = input("Username? >>> ")
inpw = input("Password >>> ")
for account in accounts:
if account.un == inun:
if account.pw == inpw:
print("Signed in!")
option = input("Sign [i]n or sign [u]p? >>> ").lower()
if option == "i":
signin()
if option == "u":
signup()
Спасибо :)
Да, IDLE не предназначен для использования в «реальном мире», он предназначен только для целей разработки, поэтому он не будет поддерживать все виды вещей, которые вы обычно видите в традиционной оболочке командной строки. Если вы хотите проверить, как это будет выглядеть, откройте cmd или терминал и выполните python my_script.py, чтобы увидеть, как это будет выглядеть в «реальном» терминале.
@Carcigenicate Ну, это может быть один из способов. Но в основном хотят скрыть это полностью, так как звезды выдадут количество символов.
@Ares Ну, использование команды getpass в терминале сработало. Однако вся программа этого не сделала. В любом случае спасибо :)
@Carcigenicate Возвращаясь к вашей идее, я мог бы заменить пробелами.






Вы имеете в виду, что хотите, чтобы введенные пароли помечались звездочкой при вводе?