输入:
import time
user,passwd="lilin","abc123"
def auth(auth_type):
print("auth func:",auth_type)
def outer_wrapper(func):
def wrapper(*args,**kwargs):
print("wrapper func args:",*args,**kwargs)
if auth_type=="local":
username=input("Username:").strip()
password=input("Password:").strip()
if user==username and passwd==password:
print("\033[32:1m user has passed authentication\033[0m")#\033[32:1m \33[0m绿色
res=func(*args,**kwargs)
print("---after authentication")
return res
else:
exit("\033[31:1m Invalid username or password \033[0m")#\033[32:1m \33[0m红色
elif auth_type=="1dap":
print("搞毛线1dap,不会")
return wrapper
return outer_wrapper
@auth(auth_type="local")
def index():
print("welcome to index page")
@auth(auth_type="1dap")
def home():
print("welcome to home page")
return "from home"
@auth(auth_type="local")
def bbs():
print("welcome to bbs page")
index()
print(home())
bbs()
输出:
auth func: local
auth func: 1dap
auth func: local
wrapper func args:
Username:lilin
Password:abc123
user has passed authentication
welcome to index page
---after authentication
wrapper func args:
搞毛线1dap,不会
None