一点解释:
你的第一个问题是I want to remove duplicate IP?
在这里,您可以在list上使用set(),但是您的要求是保持唯一项的顺序,因此set(x)不是一个好主意。在
你能做的是列一张单子/一套
在每次迭代中,检查当前ip是否在上面的列表/集合中
如果存在,则跳过ip
如果没有,则添加它,并将ip写入输出文件。在
你的第二个问题是How do I write them to a file?
这更简单,你知道如何打开/关闭你的文件,所以你只需要知道如何写内容。使用f.write(content),其中f是file对象。在
试试这个:f1 = open("list.LOG" , "r" , encoding="utf8")
x = f1.readlines()[6:99]
f1.close()
f2 = open("result.txt" , "a+" , encoding="utf8")
result = set()
for i in x:
y = i.split(",")[4].split(":")[0]
if y not in result:
result.add(y)
f.write(y + '\n')
f2.close()
我将重构如下代码:
^{pr2}$
在打开文件时使用with将负责关闭文件本身,因此不需要显式地关闭它。在
它有一个奇特的名字Context Manager。在