Python学习笔记(19)-账户管理器Version2.0
来源:互联网 发布:linux基础试题 编辑:程序博客网 时间:2024/05/16 01:58
一,简介
本篇实现一个可以将数据持久化到文件中存储的账户管理器。
二,关键技术讲解
1,global关键字,负责制定要引用的变量是全局变量,如果不使用global,将导致在def中定义新的局部变量,而不是引用全局变量
2,数据存储在全局变量accounts中,在程序一开始从文件读取accounts,然后可以进行相应的查询、删除、新增账户,并可以保存到文件。
三,效果演示
这个界面设计水平在控制台程序中还算可以的,哈哈
============= RESTART: D:/Python/Python3.6.1/AccountManagerV2.py =============欢迎使用稍微有一点完善的账户管理器V2版本====================请选择操作1:查看账户列表2:新增账户3:删除账户4:保存到文件5:退出程序====================2可以输入#账户名#密码新增账户====================请选择操作1:查看账户列表2:新增账户3:删除账户4:保存到文件5:退出程序====================#猫哥#123添加账户成功!====================请选择操作1:查看账户列表2:新增账户3:删除账户4:保存到文件5:退出程序====================#小蛋#123添加账户成功!====================请选择操作1:查看账户列表2:新增账户3:删除账户4:保存到文件5:退出程序====================1========账户列表如下猫哥小蛋可以输入@+账户名称,查询账户密码============================请选择操作1:查看账户列表2:新增账户3:删除账户4:保存到文件5:退出程序====================@猫哥猫哥账户的密码为:123====================请选择操作1:查看账户列表2:新增账户3:删除账户4:保存到文件5:退出程序====================4已保存到文件====================请选择操作1:查看账户列表2:新增账户3:删除账户4:保存到文件5:退出程序====================
四,源代码
一切尽在注释中
#---------------------------------------------------------#程序信息#账户管理器 V2版本 文件存储版本#maoge 2017.6.29import os,sys#---------------------------------------------------------#变量定义accounts={}fileName="C:\\account.txt";#---------------------------------------------------------#函数定义#界面显示def show(): print("====================") print("请选择操作") print("1:查看账户列表") print("2:新增账户") print("3:删除账户") print("4:保存到文件") print("5:退出程序") print("====================") return input()#读取文件def readFile(fileName): if os.path.isfile(fileName)==True:#文件存在 file=open(fileName,"r") global accounts accounts=eval(file.read()) for temp in accounts.keys(): print(temp) file.close();#写入文件def writeFile(fileName): file=open(fileName,"w")#w表示写 a表示追加模式 global accounts file.write(str(accounts)); file.close()#读写完毕一定要关闭文件对象#显示已有账户信息def showAccounts(): if len(accounts)==0: print("暂无账户") else: print("========账户列表如下") for temp in accounts.keys(): print(temp) print("可以输入@+账户名称,查询账户密码") print("========")#处理无效指令及@指令def dealAt(user): if user.startswith("@"): str=user.lstrip("@") if str not in accounts.keys(): print("查无此账户!") else: print(str+"账户的密码为:"+accounts[str]) elif user.startswith("$"): str=user.lstrip("$") if str not in accounts.keys(): print("查无此账户!") else: accounts.pop(str) print("删除账户成功!") elif user.startswith("#"): str=user.lstrip("#") username=str.split("#")[0] userpass=str.split("#")[1] accounts[username]=userpass print("添加账户成功!") else: print("无效指令!")#---------------------------------------------------------#主程序print("欢迎使用稍微有一点完善的账户管理器V2版本")readFile(fileName)while(True): user=show() if user=="5": print("欢迎您下次使用") sys.exit() elif user=="1": showAccounts() elif user=="2": print("可以输入#账户名#密码新增账户") elif user=="3": print("可以输入$账户名删除账户") elif user=="4": writeFile(fileName) print("已保存到文件") else: dealAt(user)
阅读全文
0 0
- Python学习笔记(19)-账户管理器Version2.0
- Python学习笔记(16)-账户管理器Version1.0
- IPMI version2.0 学习笔记3
- python学习笔记-上下文管理器
- python之小说下载器version2.0
- Python上下文管理器学习
- Python学习笔记(五)-- 上下文管理器(Context Manager)
- Dinic Template Version2.0
- CloudStack学习笔记-账户管理
- C#程序设计语言Version2.0简介
- Java学习笔记-------布局管理器
- pathogen插件管理器学习笔记
- s3c2440学习笔记 存储管理器
- Linux学习笔记之:Linux账户管理
- Android文档 - 账户管理器概述
- Python 学习笔记19
- python学习笔记[0]
- 【python学习笔记】-【0】
- R连接MongoDb
- TypeScript 高级类型整理
- ArcMap2SLD (ArcGIS导出SLD文件 )
- 全面理解Android的Context
- Linux系统下安装使用中文输入法
- Python学习笔记(19)-账户管理器Version2.0
- [DP套DP] UOJ#141. 【UER #4】量子态的棋盘
- android布局控件flex-layout
- HDU1808&&POJ3370-Halloween treats
- 关于copy协议中如何简便的为对象赋值
- 洛谷P2766 最长递增子序列问题
- android事件分发机制
- 微信开发环境配置以及开发基础PHP简单说明
- MAC中MySQL启动失败的解决方法