# 用户登录装饰器
FLAG = False
def login(func):
def inner(*args, **kwargs):
global FLAG
if FLAG:
ret = func(*args, **kwargs)
return ret
else:
username = input("输入登录用户名:>>>")
password = input("输入登录用户名:>>>")
if username == "cherry" and password == "123456":
FLAG = True
ret = func(*args, **kwargs)
return ret
else:
print("登录失败")
return inner
# 购物车增添商品功能
@login
def shoplist_add():
print("为购物车增添商品")
# 删减购物车商品功能
@login
def shoplist_del():
print("删减购物车中的商品")
shoplist_add()
shoplist_del()
def log(func):
def inner(*args, **kwargs):
with open('log.txt', 'a', encoding="utf-8") as f:
f.write(func.__name__+"\n") # 写入函数的名字 且换行
ret = func(*args, **kwargs)
return ret
return inner
@log
def shoplist_add():
print("购物车增添商品")
shoplist_add()
shoplist_add()