我正在尝试读取apache访问日志并将所有源IP从那里拉到输出文件。 我是python的新手,所以我不确定我做得对,但它必须是python。
#! python
for line in open('/var/log/apache2/access.log'):
ip = line.split(' ')[0]
print ip
我知道目前它正在打印到屏幕而不是文件,但首先我试图让脚本的第一部分工作。 当我运行脚本时它只打印出第一次出现的字符串,这意味着只有1个ip,我认为用for循环运行它将通过文件的每一行,但我想它不起作用我写下来了
答案 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()