信用卡交易数据文件的记录
来源:互联网 发布:高仿包淘宝店铺名字 编辑:程序博客网 时间:2024/04/27 22:46
通过检测和异常处理记录信用卡交易记录
打开一个信用卡交易的数据文件(carddata.txt),加载所有交易,包括解释的字符串。
加载数据如下:
previous balance25debits21.64541.2425credits-25-541.24finance charge/late fees7.305
读取信用卡的数据文件,并计算最终的余额。
同时还有一个处理过程的日志文件生成。
主要使用try-except语句检测异常。
代码如下:
# -*- coding: utf-8 -*-"""Created on Mon Aug 21 17:13:14 2017@author: zhang"""#!/usr/bin/env pythondef safe_float(object): try: retval = float(object) except (ValueError, TypeError), diag: retval = str(diag) return retvaldef main(): """handle all the data processing""" log = open('cardlog.txt', 'w') try: ccfile = open('carddata.txt','r') except IOError, e: log.write('no transactions in this month') log.close() return txns = ccfile.readlines() ccfile.close() total = 0.00 log.write('account log:\n') for eachTxn in txns: result = safe_float(eachTxn) if isinstance(result, float): total += result log.write('current value:%.2f data...processed\n' % total) else: log.write('ignored: %s' % result) print '$%.2f (new balance)' % total log.close()if __name__=='__main__': main()
运行的结果如下:
$58.94 (new balance)
日志文件如下:
account log:ignored: could not convert string to float: previous balancecurrent value:25.00 data...processedignored: could not convert string to float: debitscurrent value:46.64 data...processedcurrent value:587.88 data...processedcurrent value:612.88 data...processedignored: could not convert string to float: creditscurrent value:587.88 data...processedcurrent value:46.64 data...processedignored: could not convert string to float: finance charge/late feescurrent value:53.94 data...processedcurrent value:58.94 data...processed
阅读全文
0 0
- 信用卡交易数据文件的记录
- 信用卡交易流程
- 剖析visa信用卡支付的交易处理流程
- 中信银行信用卡服务较差,现在连交易的短信通知也取消了!!!
- Life Asia 交易记录的修改轨迹
- 爬取淘宝交易记录的爬虫
- mysql-商户查询自己的交易记录
- 20160130交易记录
- 20160205交易记录
- 20160220交易记录
- 20160414交易记录
- 20160505交易记录
- 银行封杀信用卡支付宝交易 无利可图是主因
- Simplex为信用卡比特币交易服务筹…
- 【SQL】查询一段时期内的交易流水记录
- 谁来记录流通币的所有过往交易经历?
- 数据库用裸设备做数据文件的一点记录
- 数据库恢复,记录一次全量数据文件丢失的恢复
- mysql/oracle 日期查询及oracle developer修改日期显示格式
- POJ
- PHP SOCKET编程
- C++静态库与动态库
- JSON解析
- 信用卡交易数据文件的记录
- C++11特性
- 搭建SSM无法访问Controller解决方案
- 线程同步代码块之交换输出
- linux中.run文件的安装与卸载
- (最小生成树问题:Prim,Kruskal)村村通公路
- PN图的画法
- debug之后,项目启动的时候直接跳到class文件中的问题
- div contenteditable文本框placeholder属性