解析防火墙日志中的数据并查找"worm"时出现问题



我正在努力看看我的代码出了什么问题。我是蟒蛇的新手。

import os
uniqueWorms = set()
logLineList = []
with open("redhat.txt", 'r') as logFile:
for eachLine in logFile:
logLineList.append(eachLine.split())
for eachColumn in logLineList:
if 'worm' in eachColumn.lower():
uniqueWorms.append()
print (uniqueWorms)

eachLine.split()返回一个单词列表。当您将其附加到logLineList时,它将成为列表的二维列表。

然后,当您迭代它时,eachColumn是一个列表,而不是单个列。

如果您希望logLineList是单词列表,请使用

logLineList += eachLine.split()

而不是

logLineList.append(eachLine.split())

最后,uniqueWorms.append()应该是uniqueWOrms.append(eachColumn).print(uniqueWorms)应该在循环之外,所以你只看到最终结果,而不是每次添加蠕虫时。