尝试从apache访问日志解析源IP并将输出写入文件,但只写入1个ip

时间:2013-04-10 09:45:51

标签: python apache parsing

我正在尝试读取apache访问日志并将所有源IP从那里拉到输出文件。 我是python的新手,所以我不确定我做得对,但它必须是python。

#! python
for line in open('/var/log/apache2/access.log'):
        ip = line.split(' ')[0]
print ip

我知道目前它正在打印到屏幕而不是文件,但首先我试图让脚本的第一部分工作。 当我运行脚本时它只打印出第一次出现的字符串,这意味着只有1个ip,我认为用for循环运行它将通过文件的每一行,但我想它不起作用我写下来了

1 个答案:

答案 0 :(得分:3)

你错过了缩进:

#! python
for line in open('/var/log/apache2/access.log'):
        ip = line.split(' ')[0]
        print ip

要写入文件,您可以使用以下内容:

#! python
f = open("ip.txt", "w")
for line in open('/var/log/apache2/access.log'):
        ip = line.split(' ')[0]
        f.write(ip + '\n')
f.close()