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