python比较并输出到新文件

python比较并输出到新文件,python,compare,Python,Compare,我有一个Python脚本,它按照规定的顺序执行以下操作: 接受一个参数(在本例中为文件名)并删除除a-z a-z 0-9和句点“.”以外的所有字符 删除新文件中的所有信息,但稍后将与监视列表进行比较的IP地址除外 清理文件并将其另存为新文件,以便与监视列表进行比较 最后,它将此清理文件(ip_列表_clea)与监视列表文件进行比较,并将匹配行输出到新文件(恶意ip) 这是我正在努力解决的第四部分。以下代码一直工作到第4阶段,该阶段停止其余代码的工作: #!/usr/bin/python impo

我有一个Python脚本,它按照规定的顺序执行以下操作:

  • 接受一个参数(在本例中为文件名)并删除除a-z a-z 0-9和句点“.”以外的所有字符
  • 删除新文件中的所有信息,但稍后将与监视列表进行比较的IP地址除外
  • 清理文件并将其另存为新文件,以便与监视列表进行比较
  • 最后,它将此清理文件(ip_列表_clea)与监视列表文件进行比较,并将匹配行输出到新文件(恶意ip)
  • 这是我正在努力解决的第四部分。以下代码一直工作到第4阶段,该阶段停止其余代码的工作:

    #!/usr/bin/python
    import re
    import sys
    import cgi
    
    
    # Compare the cleaned up list of IPs against the botwatch
    # list and output the results to a new file.                                                                                        
    
    new_list = set()
    outfile = open("final_downloads/malicious_ips", "w")
    for line in open("final_downloads/ip_list_clean", "r")
        if line in open("/var/www/botwatch.txt", "r")
            outfile.write(line)
            new_list.add(line)
    outfile.close()
    

    关于为什么最后一部分不起作用,有什么想法吗?事实上,它使整个过程停止工作。

    您在最后一节中缺少了一些冒号。试试这个:

    new_list = set()
    outfile = open("final_downloads/malicious_ips", "w")
    for line in open("final_downloads/ip_list_clean", "r"):
            if line in open("/var/www/botwatch.txt", "r"):
                    outfile.write(line)
                    new_list.add(line)
    outfile.close()