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!

你可能感兴趣的:(python)