0

我有一个 IIS 服务器日志文件,您知道它有一个名为 cs(Referer) 的字段。我想获取此列下的所有值?请帮助我?

#!/usr/bin/env python
f = open('log.txt','r')
data = f.read()

import re

#print data

def find(pat,text):
        match = re.search(pat,text)
        if match: print match.group()
        else: print 'not found!'
4

1 回答 1

0

逻辑如下:

  1. 找到“#Fields:”注释并找出列的索引
  2. 跳过以“#”开头的注释行
  3. 打印我们感兴趣的列

代码:

#!/usr/bin/env python
f = open('log.txt','r')

columns = {}

for line in f.readlines():
    if line.startswith('#Fields:'):
        for index, substring in enumerate(line.split(' ')):
            columns[substring] = index
    elif line.startswith('#'):
        continue
    else:
        print line.split(' ')[columns['cs(User-Agent)']]
于 2013-03-27T09:12:51.500 回答