python 装饰器模拟京东登陆
2019-02-25 16:14:39来源:博客园 阅读 ()
要求:
1、三个页面:主页面(home)、书店(book)、金融页面(finance)
2、有两种登陆方式:主页面和书店页面使用京东账户登陆,金融页面使用微信账户登录
2、输入:1 ,进入主页面,以此类推;输入:2 ,进入书店页面;输入:3 ,进入金融页面
3、进入页面时检测有没有登陆,如果没有调用登陆接口,使用账号密码登陆,在任何界面,只需登陆一次即可
4、账户信息保存在文件里
5、在任意界面,输入:Q ,退出程序
源代码:
login_status = False # 登录状态 with open('账户信息', 'r') as f_read_self: jingdong = f_read_self.readline().strip() jingdong = eval(jingdong) # 内置函数eval()的作用是把一个字符串转换为字典 for n, m in jingdong.items(): JD_name = n JD_pwd = m with open('账户信息(微信)', 'r') as f_read_wechat: wechat = f_read_wechat.readline().strip() wechat = eval(wechat) for n, m in wechat.items(): wechat_name = n wechat_pwd = m def login(auth_type="jingdong"): # 判断页面类型,默认进去是京东登录页面 def page(dis_play): global login_status # 声明全局变量 def login_type(): global login_status # 声明全局变量 if not login_status: # 如果是未登陆状态 if auth_type == "jingdong": username = input("Username:") passwd = input("Passwd:") if JD_name == username and JD_pwd == passwd: print("welcome ....") dis_play() # 登陆成功执行页面函数,显示内容 login_status = True # 改登陆状态为 True else: print("账户或密码错误,请重新输入") elif auth_type == "wechat": username = input("Username:") passwd = input("Passwd:") if wechat_name == username and wechat_pwd == passwd: print("welcome ....") dis_play() # 登陆成功执行页面函数,显示内容 login_status = True # 改登陆状态为 True else: print("账户或密码错误") else: print("已登陆") return login_type # 返回login_type 的内存地址,用于指向函数对象 return page @login() def home(): # 主页面 print("welcome to home page") @login() def book(): # 书店 print("welcome to home page") @login(auth_type="wechat") def finance(): # 金融 print("welcome to home page") while True: user_input = input('请输入:\n1: [主页] \n2: [书店] \n3: [金融] \nQ:退出') if user_input == '1': home() elif user_input == '2': book() elif user_input == '3': finance() elif user_input == 'Q': break
账户信息: {'Tom':'qwe123',}
账户信息(微信): {'Toms':'qwe123',}
原文链接:https://www.cnblogs.com/ss-long/p/10427778.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:爬取豆瓣电影
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash