pyhton -pickle使用方法
程序员文章站
2023-11-22 23:53:58
pyhton -pickle使用方法
新建文件:
root@kali:~/python/atmnew# ls
account.log account.pkl account....
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 pickle import 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#
上一篇: PlayJava Day026
下一篇: Python中的sort怎么使用
推荐阅读