0

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

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

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

4

1 回答 1

4

你错过了缩进:

#! 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()
于 2013-04-10T09:47:18.470 回答