创建访问程序的密码



我正在尝试创建一个程序,该程序需要登录权限才能100%访问程序的其余部分。但我无法创建它,我在互联网上搜索,但对我不起作用。

这是我的代码:

from getpass import getpass
password = getpass("Please enter your key:")
if password == "1234":
    print("Successful Login!")
else:
    print("Incorrect Login, Try it again.")

问题是,无论您输入的密码是正确的还是不正确的,程序都会登录。我希望,如果你输入了错误的密码,你就无法访问该程序的工具。

sys对于这类东西非常有用。

如果你输入了错误的密码,它会提前退出程序。

from getpass import getpass
import sys
password = getpass("Please enter your key:")
if password == "1234":
    print("Successful Login!")
else:
    print("Incorrect Login.")
    sys.exit(1)

print("Rest of program")

假设您的代码的格式为:

from getpass import getpass
#password check
password = getpass("Please enter your key:")
if password == "1234":
    print("Successful Login!")
else:
    print("Incorrect Login, Try it again.")
#program code here...

问题是,在else块之后,程序将继续正常执行,并将到达else块下方的代码。防止这种情况的两种方法是:

1-使用exit()终止程序

在else块中,您可以在密码失败时终止程序:

import sys
#......
if password == "1234":
    print("Successful Login!")
else:
    print("Incorrect Login, Try it again.")
    sys.exit(1) #exit with status code 1

2-循环直到密码正确

一种稍微更用户友好的方法是不断提示用户输入密码,直到他们输入正确的密码。像这样,如果用户输入了错误,就不必重新运行程序。

password = getpass("Please enter your key:")
while password != "1234":
    print("Incorrect Login, Try it again.")
    password = getpass("Please enter your key:")
print("Successful login!") #success
#proceed with rest of program...

最新更新