Python之文本文件解析
最近的工作主要是组件兼容性测试,原有的框架有很多功能还不完善,需要补充!比如,需要将AutoIt脚本的执行结果写入到Excel中,最后的解决方案是使用本地的log来解析这个结果!
增加了如下一个类来完成上述功能:
''' Created on May 3, 2013 @author: Berlin ''' 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
vm_result是个实例对象,其成员cases_results下面有很多字段,诸如install_script_success等!
Published by Windows Live Writer!
作者:
薛定谔の喵
出处:
http://www.cnblogs.com/berlin-sun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述