1-使用
我正在尝试创建一个程序,该程序需要登录权限才能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...