将IP地址列表写入文本文件 - Python 2.7

ben*_*ipy 0 python regex text python-2.7

我正在解析auth.log中的所有IP地址.我有以下脚本来解析IP地址,它似乎工作正常(或至少它是捕获IP地址).

import re 

authLog = open("auth.log", "rb")
string = authLog.read()

ipAddress = re.findall(r"[0-9]+(?:\.[0-9]+){3}", string)

print ipAddress
Run Code Online (Sandbox Code Playgroud)

我想要做的是将IP地址写入文本文件,每个IP都有自己的行.即

192.168.1.1
192.168.1.1
192.168.1.1
192.168.1.1 
etc...
Run Code Online (Sandbox Code Playgroud)

这意味着我需要摆脱python和逗号的引号.现在它只是以这种格式打印IP地址:'192.168.1.1','192.168.1.1','192.168.1.1','192.168.1.1'等...

执行此操作的最佳方法是什么?一如既往,您的帮助会非常受欢迎.

Kev*_*vin 7

首先,我建议选择一个不同的名称ipAddress.findall返回字符串列表,列表名称传统上是复数.怎么样ipAddresses

您可以使用将字符串列表组合成单个分隔的字符串join.您可以使用换行符作为分隔符.例:

with open("output.txt", "w") as file:
    file.write("\n".join(ipAddresses))
Run Code Online (Sandbox Code Playgroud)