【问题标题】:How do i append this item to the same list, instead of creating a new list everytime it loops?我如何将此项目附加到同一个列表,而不是每次循环时都创建一个新列表?
【发布时间】:2020-05-15 08:39:06
【问题描述】:

这是我当前的代码:

fd = open('/var/log/secure.log')
syslog = fd.readlines()

countTable = {} # initialization of a dictionary
for line in syslog:
        data = line.split()  
        if len(data) >= 15:
                if data[14] in ['user=root']:
                        intrusions = []
                        ip = data[13].replace('rhost=', "")
                        intrusions.extend(ip)
                        print "intruder:", intrusions

这是我得到的输出:

intruder: ['218.92.0.201']
intruder: ['222.186.173.142']
intruder: ['222.186.173.142']
intruder: ['222.186.173.142']
intruder: ['218.92.0.201']
intruder: ['218.92.0.201']
intruder: ['222.186.30.218']
intruder: ['218.92.0.201']

我怎样才能让所有这些 IP 进入同一个“入侵”列表?

谢谢!

【问题讨论】:

    标签: python list loops append


    【解决方案1】:

    你只需要在第一个循环之前移动你的intrusions = []

    countTable = {} # initialization of a dictionary
    
    intrusions = []
    for line in syslog:
            data = line.split()  
            if len(data) >= 15:
                    if data[14] in ['user=root']:
    
                            ip = data[13].replace('rhost=', "")
                            intrusions.extend(ip)
                            print "intruder:", intrusions
    

    【讨论】:

    • 非常感谢帮助这个 python 菜鸟!
    猜你喜欢
    • 2020-03-26
    • 1970-01-01
    • 1970-01-01
    • 2019-03-03
    • 2020-08-22
    • 2020-06-13
    • 1970-01-01
    • 2018-04-12
    相关资源
    最近更新 更多