美文网首页(一点一点累积)Python
python内置函数enumrate使用

python内置函数enumrate使用

作者: 词穷又词贫 | 来源:发表于2017-05-27 11:46 被阅读38次

    enumerate()是python内置方法,遍历序列中的元素以及下标,返回元组。

    例子:
    l1=["a","b","c","d","e","f"]
    for item in enumerate(l1):
        print (item)
    # 结果:
    (0, 'a')
    (1, 'b')
    (2, 'c')
    (3, 'd')
    (4, 'e')
    (5, 'f')
    for x,item in enumerate(l1):
        print (x,item)
    # 结果:
    0 a
    1 b
    2 c
    3 d
    4 e
    5 f
    

    案例:利用open方法从文件读书配置信息,进行分析
    baseftp.ini配置文件信息:
    ======
    # user passwd privilege path
    # neo 123456 elradfmwM /home/neo/data
    neo 123456 elradfmwM /home/neo
    ======
    测试代码:
    #!/bin/python3.5
    # -- coding:utf-8 --
    # 判断是否包含#号的行,如果是,则返回此行的#号之前的数据,如果#号在第一,返回空列表
    def ignor_octothrpe(text):
    for x,item in enumerate(text):
    if item == "#":
    return text[:x] # 切片返回的数据类型也是为str
    pass
    return text # str数据类型

    def init_user_config():
        try:
            f = open("baseftp.ini",encoding='utf-8')
            f.close()
        except:
            print ("config file not found.")
            exit (1)
    
        while 1:        # 无限循环,达到目的,利用内部的break跳出此循环
            line = f.readline()    # line为读取配置文件的每一行,readline()一行一行的读取,line为str字符串类型数据
            if len(ignor_octothrpe(line)) > 3:  # ignor_octothrpe(line) 返回的是一个字符串类型的数据,作为len的变量,得到还是一个字符串,
            大于3,进行user_list.append,是否不够合理?
                user_list.append(line.split())   # split方法讲字符串,以空格为分隔符号进行分列,每列追加到user_list列表
            if not line:    # line行读完,即可跳出循环
                break
    
    if __name__ == '__main__':
        user_list = []
        init_user_config()
        print (user_list)   # 得到的最终这样的列表[['neo', '123456', 'elradfmwM', '/home/neo']]

    相关文章

      网友评论

        本文标题:python内置函数enumrate使用

        本文链接:https://www.haomeiwen.com/subject/mgfqfxtx.html