0

想从exit-addresses解析 IPv4 地址。文件格式:

ExitNode 006C3FA7C3F6E3ACD13D0DD9B10C7DFA933C237B
Published 2012-06-12 05:04:03
LastStatus 2012-06-12 06:03:22
ExitAddress 220.0.231.71 2012-06-12 10:23:05
4

1 回答 1

2
with open('data.txt') as inf:
    for line in inf:
        if line.startswith('ExitAddress'):
            print line.split()[1]

会给你

220.0.231.71

wheredata.txt包含您发布的四行(我还使用您链接到的大文件运行它)。当您完成或遇到异常时,使用with还将“自动”为您关闭文件。

打开数据文件后,此列表理解将为您收集列表中的所有数据:

   a = [line.split()[1] for line in inf if line.startswith('ExitAddress')]

或者,如果您不想一次在内存中收集整个列表,您可以使用生成器表达式

   g = (line.split()[1] for line in inf if line.startswith('ExitAddress'))

您还需要自己关闭文件。

于 2012-06-12T18:40:59.150 回答