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读写Redis数据库操作示例
Mar 18 Python
探究Python的Tornado框架对子域名和泛域名的支持
May 02 Python
python使用分治法实现求解最大值的方法
May 12 Python
python函数局部变量用法实例分析
Aug 04 Python
python+matplotlib绘制3D条形图实例代码
Jan 17 Python
Python面向对象之继承代码详解
Jan 29 Python
python2.7读取文件夹下所有文件名称及内容的方法
Feb 24 Python
对Python3中的print函数以及与python2的对比分析
May 02 Python
详解Python中的分组函数groupby和itertools)
Jul 11 Python
详解python读取image
Apr 03 Python
Python读取xlsx文件的实现方法
Jul 04 Python
利用Python复制文件的9种方法总结
Sep 02 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
zf框架的zend_cache缓存使用方法(zend框架)
2014/03/14 PHP
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
php array_values 返回数组的所有值详解及实例
2016/11/12 PHP
DWZ+ThinkPHP开发时遇到的问题分析
2016/12/12 PHP
CakePHP框架Session设置方法分析
2017/02/23 PHP
js GridView 实现自动计算操作代码
2009/03/25 Javascript
一个JavaScript变量声明的知识点
2013/10/28 Javascript
用js代码改变单选框选中状态的简单实例
2013/12/18 Javascript
JavaScript事件委托的技术原理探讨示例
2014/04/17 Javascript
jquery和js实现对div的隐藏和显示方法
2014/09/26 Javascript
JS从一组数据中找到指定的单条数据的方法
2016/06/02 Javascript
jQuery获取this当前对象子元素对象的方法
2016/11/29 Javascript
jQuery实现jQuery-form.js实现异步上传文件
2017/04/28 jQuery
vue router学习之动态路由和嵌套路由详解
2017/09/21 Javascript
vscode中vue-cli项目es-lint的配置方法
2018/07/30 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
js中let能否完全替代IIFE
2019/06/15 Javascript
详解Jest结合Vue-test-utils使用的初步实践
2019/06/27 Javascript
布同 统计英文单词的个数的python代码
2011/03/13 Python
总结Python编程中函数的使用要点
2016/03/20 Python
python 简单搭建阻塞式单进程,多进程,多线程服务的实例
2017/11/01 Python
Python selenium抓取微博内容的示例代码
2018/05/17 Python
使用python 写一个静态服务(实战)
2019/06/28 Python
Python导入模块包原理及相关注意事项
2020/03/25 Python
Python进程的通信Queue、Pipe实例分析
2020/03/30 Python
使用Python实现音频双通道分离
2020/12/25 Python
软件设计的目标是什么
2016/12/04 面试题
软件项目开发计划书
2014/05/01 职场文书
党员自我剖析材料
2014/08/31 职场文书
学习三严三实心得体会
2014/10/13 职场文书
《我的长生果》教学反思
2016/02/20 职场文书
2016年小学植树节活动总结
2016/03/16 职场文书
《天使的翅膀》读后感3篇
2019/12/20 职场文书
有趣的二维码:使用MyQR和qrcode来制作二维码
2021/05/10 Python
MySQL如何解决幻读问题
2021/08/07 MySQL
Java 数组的使用
2022/05/11 Java/Android