• 【Python 基础]】将文本文件内容读入到 数组的例子(改进版)


    返回: Python基础 索引页


    假如文件的内容如下:

    ###
    [Action --1]
    
    RDMA support
    IPOIB support
    RDSOIB support
    
    ###<<<
    
    ###
    [Action --2]
    
    ORA-07445
    pevm_icd_call_common
    ORA 7445 [pevm_icd_call_common]
    oracle.sysman.oui.patch.PatchException: java.io.FileNotFoundException:
    ContentsXML/oui-patch.xml (Permission denied)
    
    opatch logs
    
    ###<<<


    想要读入数组后,形成如下结构:

    ['[Action --1]', 0], ['RDMA support', 'IPOIB support', 'RDSOIB support'],
    ['[Action --2]', 0], ['ORA-07445', 'pevm_icd_call_common', 'ORA 7445 [pevm_icd_call_common]', 'oracle.sysman.oui.patch.PatchException: java.io.FileNotFoundException:', 'ContentsXML/oui-patch.xml (Permission denied)', 'opatch logs']


    程序代码如下:

    tmpFactor= []
    contentsList = []
    actionList = []
    
    myfile = open('AI.txt')
    line = myfile.readline()
    iti = 0
    while line:
        current_line = line.strip()
        if ( current_line == "###" ) :  # read the next line when encounter "###"
            line = myfile.readline()
            current_line = line.strip()
            ## <<<<<<<<<< first line , action plan name
            tmpFactor.append( current_line )
            tmpFactor.append( 0 ) # the counter for later summary
            ## <<<<<<<<<<< skip to the line next to [action]
            line = myfile.readline()
        elif ( current_line == "###<<<" )  : # the current group finished
            ##print ( "got to the end" )
            actionList.append(tmpFactor)
            actionList.append(contentsList)
            ##print ( actionList )
            ##make search
            ## go to next item section
            tmpFactor= []
            contentsList = []
            line = myfile.readline()
            ##continue        
            ##break
        else:  #  got the real content to the list
            if ( current_line == '') :
                iti = 0
                ##print ( "null line" )
            else :
                iti = 1
                ##print ( "good line,append" + current_line )
                contentsList.append( current_line ) # append the real content
            line = myfile.readline()
            iti = 2  ## end of else content
        iti = 3 ## end of while content
    
    myfile.close()
    
    print ( actionList )


    运行结果如下:

    [
    ['[Action --1]', 0], ['RDMA support', 'IPOIB support', 'RDSOIB support'],
    ['[Action --2]', 0], ['ORA-07445', 'pevm_icd_call_common', 'ORA 7445 [pevm_icd_call_common]', 'oracle.sysman.oui.patch.PatchException: java.io.FileNotFoundException:', 'ContentsXML/oui-patch.xml (Permission denied)', 'opatch logs']
    ]


    返回: Python基础 索引页

  • 相关阅读:
    ccf-集合竞价-201412-3
    ccf-命令行选项-201403-3
    ccf-路径解析201604-3
    ccf-炉石传说-201609-3
    CCF-权限查询-201612-3
    10个顶级的CSS UI开源框架
    移动端前端UI库—Frozen UI、WeUI、SUI Mobile
    @RenderBody、@RenderSection、@RenderPage、Html.RenderPartial、Html.RenderAction的作用和区别
    对比其它软件方法评估敏捷和Scrum
    SQL SERVER 2008 中三种分页方法与总结
  • 原文地址:https://www.cnblogs.com/gaojian/p/16121574.html
Copyright © 2020-2023  润新知