欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python解析文件示例

程序员文章站 2023-11-20 11:52:58
python最近的工作主要是组件兼容性测试,原有的框架有很多功能还不完善,需要补充!比如,需要将autoit脚本的执行结果写入到excel中,最后的解决方案是使用本地的lo...

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