计算日志文件中的状态代码

时间:2017-11-01 00:42:03

标签: python python-3.x

我正在尝试计算状态代码在日志文件中重复的次数。这是文件'10.10.10.10 - - [29/Aug/2017:06:29:44 -0400] "GET /isomaster/download/ HTTP/1.1" 200 - "-" "curl/7.49.1"\n'的内容示例,但它使用包含不同状态代码的不同请求重复数百次。这是我尝试获取所有200个状态代码的计数。

def loadFiles():

    #READ From access_log
    access_0 = open('file0','r')
    line_0 = access_0.readlines() #readlines() read the text line per line 
    print(line_0)
    access_0.close()


    access_1 = open('file1','r')
    line_1 = access_1.readlines() #readlines() read the text line per line 
    return print(line_1)
    access_1.close()

    access_2 = open('file2','r')
    line_2 = access_2.readlines() #readlines() read the text line per line 
    return print(line_2)
    access_2.close()

    access_3 = open('file3','r')
    line_3 = access_3.readlines()
    return print(line_3)
    access_3.close()    

def total_200():

        values = loadFiles()
        values_200 = re.findall(r'\d{200}\s',values) 
        string_count = values_200.count('200')
        print(string_count)

loadFiels()加载了我想要读取的所有多个文件的内容,但这样做只打印了状态代码为200的所有字符串,并不计算它。关于如何解决这个问题的任何建议?谢谢!

1 个答案:

答案 0 :(得分:0)

string_count是一个列表。您只需使用len(string_count)即可获得整数计数。