pyhton -pickle使用方法(待补充)
来源:互联网 发布:矩阵卷积计算方法 编辑:程序博客网 时间:2024/06/05 19:16
pyhton -pickle使用方法
新建文件:
root@kali:~/python/atmnew# ls
account.log account.pkl account.py logger.py logger.pyc pickle_test.py record_account.py
root@kali:~/python/atmnew#
1、账户登录与识别
root@kali:~/python/atmnew# cat account.py #!usr/bin/python# --*-- coding:utf-8 --*--'''用户账户信息'''import pickle#导入持久化序列模块#新建字典,第一个元素是帐号信息,账户对应的第一个值为登录密码,第二值为信用卡额度,第三个值为可用额度account_info = {'0123456789':['xwb123456',15000,12000], '9876543210':['xwb654321',20000,18000], }f = open('account.pkl','wb')#对account.pkl文件使用二进制写入方式打开,也可以w+打开#把字典account_info文件dump到打开的account.pkl文件中去。就是把字典account_info文件所有状态信息写入account.pkl文件中去,#下次使用,直接从account.pkl文件中取出来,他就是一个字典信息,也是等于格式化存储到account.pkl文件中pickle.dump(account_info,f)#使用pickle方式把字典account_info文件dump到打开的account.pkl文件中去。f.close()root@kali:~/python/atmnew#
2、交易函数与记录
root@kali:~/python/atmnew# cat record_account.py #!/usr/bin/python# --*-- coding:utf-8 --*--import pickleimport time,logger#日志模块#第一步导入时间pkl_file = open('account.pkl','rb')#只读二进制方式打开account.pkl文件,读取二进制形式到pkl_file文件中account_list = pickle.load(pkl_file)#使用pickle加载二进制文件pkl_file,到字典account_list中pkl_file.close()#关闭文件#对账户和花费金额进行消费。记账功能def recon(account,cost_amount): # pkl_file = open('account.pkl','wb')#写入二进制方式打开account.pkl文件,读取二进制形式到pkl_file文件中 old_position = account_list[account][2]#取出字典account_list中账户0123456789的第三个值可用额度12000赋值给old_position new_position = old_position - cost_amount#使用可用额度old_position减去消费金额cost_amount,为更新后可用额度new_position account_list[account][2] = new_position#把更新后的可用额度new_position,赋值给字典account_list中账户0123456789的第三个值可用额度 print new_position pickle.dump(account_list,pkl_file)#使用pickle方法把字典account_list数据dump到pkl_file文件中 pkl_file.close()#关闭文件print account_list#把程序分成不同.py文件模块,非常方便进行日后维护recon('0123456789',450)#调用账户0123456789,消费金额450元logger.record_log('0123456789',450,'NIKE shoes')#记录日志账户0123456789消费450元,购买NIKE shoes物品root@kali:~/python/atmnew#
3、日志文件
root@kali:~/python/atmnew# cat logger.py#!/usr/bin/python# --*-- coding:utf-8 --*--import time#导入时间模块logfile = 'account.log'#定义要使用的日志文件account.log#定义函数包括参数账户、花费、描述信息、利息(默认为0、取款、转账有手续费必须带参数值)def record_log(account,expense,description,interest = 0): date = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())#取出当前时间 record_line = "%s '%s' %s %s\n" %(date,description,expense,interest)#记录当前消费时调用函数各个参数时间行为 f = open(logfile,'a')#追加写入方式打开日志account.log f.write(record_line)#写入每行函数产生日志信息 f.flush()#实时写入 f.close()#关闭文件root@kali:~/python/atmnew#
4、待补充文件内容
root@kali:~/python/atmnew# cat account.pkl
root@kali:~/python/atmnew# cat account.log
1
root@kali:~/python/atmnew# cat pickle_test.py
1
root@kali:~/python/atmnew#
阅读全文
0 0
- pyhton -pickle使用方法(待补充)
- pyhton模块(pickle,urllib,zipfile,bz2,Image)
- Window&Linux gtest 使用方法-待补充
- 计划(待补充)
- 操作系统(待补充)
- HMM资源(待补充)
- linux常用命令(待补充)
- 常用路径(待补充)
- 浅谈搜索(待补充)
- 字典树(待补充)
- vector实现(待补充)
- 内部类(待补充)
- gdb调试(待)补充
- AtomicInteger原理(待补充)
- 广义表(待补充)
- moive纹理(待补充)
- 二分查找(待补充)
- 闭包(待补充)
- [数据结构]Map和Set
- Effective c++ 学习笔记 (一)
- 排序之四:冒泡排序(C语言实现)
- B. The Golden Age
- ModelSim仿真实例教程
- pyhton -pickle使用方法(待补充)
- Redis的列表类型如何使用?
- 12c rac 操作系统内存低导致服务offline(opatch)
- 转C++内存管理
- openfire获取所有在线登录人
- textarea、input样式兼容
- Redis中的散列类型如何使用?
- retrofit 2.0 使用之图片上传
- openfire如何获取所有在线用户