【发布时间】:2021-03-25 06:02:24
【问题描述】:
我正在制作一个程序,我需要读取一个包含 IP 的 Nginx 日志文件。该文件如下所示:
127.0.0.1 - - [17/Nov/2020:19:19:55 +0100] "GET / HTTP/1.1" 200 396 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0"
127.0.0.1 - - [17/Nov/2020:19:19:50 +0100] "GET / HTTP/1.1" 200 396 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0"
127.0.0.1 - - [17/Nov/2020:19:19:45 +0100] "GET / HTTP/1.1" 200 396 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0"
正如我所说,我只需要第一部分,即 IP,并将其保存到一个新的 .txt 文件中。目前我有以下代码可以阅读,但我无法仅获取 IP:
with open('/var/log/nginx/access.log', 'r') as f:
ip_list = f.readlines()
此代码返回此列表:
['127.0.0.1 - - [17/Nov/2020:19:19:55 +0100] "GET / HTTP/1.1" 200 396 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0"\n', '\n',
'127.0.0.1 - - [17/Nov/2020:19:19:50 +0100] "GET / HTTP/1.1" 200 396 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0"\n', '\n',
'127.0.0.1 - - [17/Nov/2020:19:19:45 +0100] "GET / HTTP/1.1" 200 396 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0"\n', '\n']
现在我只需要获取 IP 并用它们创建一个新文件。
【问题讨论】:
标签: python python-3.x list nginx