0

cs(Referer)というフィールドがあるので、IISサーバーのログファイルがあります。この列の下にあるすべての値を取得したいのですが、助けてください。

#!/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 に答える