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 相关文章推荐
Pycharm更换python解释器的方法
Oct 29 Python
使用python对文件中的数值进行累加的实例
Nov 28 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
Apr 11 Python
详解Python用三种方式统计词频的方法
Jul 29 Python
django 基于中间件实现限制ip频繁访问过程详解
Jul 30 Python
python 字典的打印实现
Sep 26 Python
TensorFlow 读取CSV数据的实例
Feb 05 Python
Jupyter notebook 远程配置及SSL加密教程
Apr 14 Python
浅谈keras 模型用于预测时的注意事项
Jun 27 Python
Python使用shutil模块实现文件拷贝
Jul 31 Python
Django后端按照日期查询的方法教程
Feb 28 Python
Python使用Beautiful Soup(BS4)库解析HTML和XML
Jun 05 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在线打包程序源码
2008/07/27 PHP
PHP使用Alexa API获取网站的Alexa排名例子
2014/06/12 PHP
浅谈PHP的exec()函数无返回值排查方法(必看)
2017/03/31 PHP
jQuery AnythingSlider滑动效果插件
2010/02/07 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
Js实现动态添加删除Table行示例
2014/04/14 Javascript
jquery 操作css样式、位置、尺寸方法汇总
2014/11/28 Javascript
JS设置cookie、读取cookie、删除cookie
2015/04/17 Javascript
设计模式中的组合模式在JavaScript程序构建中的使用
2016/05/18 Javascript
jQuery中的100个技巧汇总
2016/12/15 Javascript
js实现3D图片展示效果
2017/03/09 Javascript
微信小程序 登录的简单实现
2017/04/19 Javascript
详解微信第三方小程序代开发
2017/06/23 Javascript
解决vue打包之后静态资源图片失效的问题
2018/02/21 Javascript
详解Vue中数组和对象更改后视图不刷新的问题
2018/09/21 Javascript
详解ES6中的 Set Map 数据结构学习总结
2018/11/06 Javascript
[02:49]2014DOTA2电竞也是体育项目! 势要把荣誉带回中国!
2014/07/20 DOTA
Python常用的爬虫技巧总结
2016/03/28 Python
基于pycharm导入模块显示不存在的解决方法
2018/10/13 Python
Python Django框架单元测试之文件上传测试示例
2019/05/17 Python
在Python中过滤Windows文件名中的非法字符方法
2019/06/10 Python
基于python-opencv3的图像显示和保存操作
2019/06/27 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
jupyter修改文件名方式(TensorFlow)
2020/04/21 Python
给ubuntu18安装python3.7的详细教程
2020/06/08 Python
python hmac模块验证客户端的合法性
2020/11/07 Python
HTML5 manifest离线缓存的示例代码
2018/08/08 HTML / CSS
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
Footshop法国:购买运动鞋
2020/01/19 全球购物
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
信息技术教学反思
2014/02/12 职场文书
学生期末评语大全
2014/04/30 职场文书
护士自我推荐信范文
2015/03/24 职场文书
公司开业致辞
2015/07/29 职场文书
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python
Java8利用Stream对列表进行去除重复的方法详解
2022/04/14 Java/Android