python解析文件示例

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: successvisualstudio2010_standaloneprofiler:launch: successvisualstudio2010_standaloneprofiler:function: failtaobaobrowser_2.0.0:citrixofflineplugin_6.5:installation: successcitrixofflineplugin_6.5:function: successtrusteerrapport:tntshippingtools:installation: successtntshippingtools:launch: successwget_1.11.4:installation: successvisualstudio2010_standaloneprofiler:uninstallation: successtntshippingtools:uninstallation: fail