python解析文件示例


Posted in Python onJanuary 23, 2014

python最近的工作主要是组件兼容性测试,原有的框架有很多功能还不完善,需要补充!比如,需要将AutoIt脚本的执行结果写入到Excel中,最后的解决方案是使用本地的log来解析这个结果!

增加了如下一个类来完成上述功能:

class AutoItResultParser():
    def ParseResult(self, vm_result, log_file):
        for case_result in vm_result.cases_results:
            self.__ModifyAutoItResult(case_result, log_file)    def __ModifyAutoItResult(self, result, log_file):
        items = []
        myfile = open(log_file, 'rb')
        line = myfile.readline()
        count = 0
        while('' != line):
            items.append(line.split(':')[0])
            count += 1
            if(count % 2 == 0):
                items.append(line.split(':')[1])
            line = myfile.readline()
        myfile.close()
        fail_scripts = []
        length = len(items)
        arr = list(range(2, length, 3))
        for i in arr:
            test = items[i].lower()
            if test.rfind('success') == -1:
                fail_scripts.append((items[i - 2], items[i - 1]))
        for script in fail_scripts:
            if script[0] == result.case_name:
                if script[1] == 'Installation':
                    result.install_script_success = False
                elif script[1] == 'Launch':
                    result.launch_script_success = False
                elif script[1] == 'Function':
                    result.function_script_success = False
                else:
                    result.uninstall_script_success = False

这里的log_file文件内容类似如下:

VisualStudio2010_StandaloneProfiler:
Installation:   Success
VisualStudio2010_StandaloneProfiler:
Launch:         Success
VisualStudio2010_StandaloneProfiler:
Function:       Fail
TaobaoBrowser_2.0.0:
CitrixOfflinePlugin_6.5:
Installation:   Success
CitrixOfflinePlugin_6.5:
Function:       Success
TrusteerRapport:
TNTShippingTools:
Installation:   Success
TNTShippingTools:
Launch:         Success
WGET_1.11.4:
Installation:   Success
VisualStudio2010_StandaloneProfiler:
Uninstallation: Success
TNTShippingTools:
Uninstallation: Fail
Python 相关文章推荐
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
Sep 19 Python
python中pandas.DataFrame排除特定行方法示例
Mar 12 Python
在django中使用自定义标签实现分页功能
Jul 04 Python
Python 判断 有向图 是否有环的实例讲解
Feb 01 Python
Python目录和文件处理总结详解
Sep 02 Python
在Python中画图(基于Jupyter notebook的魔法函数)
Oct 28 Python
如何基于python实现脚本加密
Dec 28 Python
python使用opencv resize图像不进行插值的操作
Jul 05 Python
浅谈python出错时traceback的解读
Jul 15 Python
如何在Python项目中引入日志
May 31 Python
Python可变集合和不可变集合的构造方法大全
Dec 06 Python
python使用torch随机初始化参数
Mar 22 Python
python回调函数的使用方法
Jan 23 #Python
python中的对象拷贝示例 python引用传递
Jan 23 #Python
使用scrapy实现爬网站例子和实现网络爬虫(蜘蛛)的步骤
Jan 23 #Python
python使用scrapy解析js示例
Jan 23 #Python
php使用递归与迭代实现快速排序示例
Jan 23 #Python
python实现批量转换文件编码(批转换编码示例)
Jan 23 #Python
python写的一个文本编辑器
Jan 23 #Python
You might like
PHP编程与应用
2006/10/09 PHP
linux下编译安装memcached服务
2014/08/03 PHP
php面向对象程序设计入门教程
2019/06/22 PHP
jQuery的学习步骤
2011/02/23 Javascript
JQuery+JS实现仿百度搜索结果中关键字变色效果
2011/08/02 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
jQuery拖动布局其结果保存到数据库
2015/10/09 Javascript
jQuery ztree实现动态树形多选菜单
2016/08/12 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
全面解析node 表单的图片上传
2016/11/21 Javascript
BootStrap表单时间选择器详解
2017/05/09 Javascript
VUE实现表单元素双向绑定(总结)
2017/08/08 Javascript
vue组件初学_弹射小球(实例讲解)
2017/09/06 Javascript
深入浅析Vue.js计算属性和侦听器
2018/05/05 Javascript
Angular6使用forRoot() 注册单一实例服务问题
2019/08/27 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
2020/02/14 Javascript
JavaScript面向对象核心知识与概念归纳整理
2020/05/09 Javascript
[45:50]完美世界DOTA2联赛PWL S3 CPG vs Forest 第二场 12.16
2020/12/17 DOTA
python用ConfigObj读写配置文件的实现代码
2013/03/04 Python
php使用递归与迭代实现快速排序示例
2014/01/23 Python
Python 基础知识之字符串处理
2017/01/06 Python
利用python爬取软考试题之ip自动代理
2017/03/28 Python
python实现剪切功能
2019/01/23 Python
python装饰器练习题及答案
2019/11/01 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
2020/01/19 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
高中生学习的自我评价
2013/12/14 职场文书
弘扬雷锋精神活动演讲稿
2014/03/04 职场文书
通信工程求职信
2014/07/16 职场文书
委托书范本
2014/09/13 职场文书
婚内房产协议书范本
2014/10/02 职场文书
班主任高考寄语
2015/02/26 职场文书
2015年七夕爱情寄语
2015/03/24 职场文书
Canvas三种动态画圆实现方法说明(小结)
2021/04/16 Javascript
为什么MySQL分页用limit会越来越慢
2021/07/25 MySQL
Win11怎么启动任务管理器?Win11启动任务管理器的几种方法
2021/11/23 数码科技