python比较并输出到新文件

时间:2013-03-02 01:09:38

标签: python compare

我有一个Python脚本,按照所述顺序执行以下操作:

  1. 采用参数(在本例中为文件名)并删除除a-z A-Z 0-9和句号'。'以外的所有字符。
  2. 删除新文件中的所有信息,但以后要与监视列表进行比较的IP地址除外
  3. 清理文件并将其另存为要与监视列表进行比较的新文件
  4. 最后,它将此已清理的文件(ip_list_clea)与监视列表文件进行比较,并将匹配的行输出到新文件(malicious_ips)。
  5. 这是我正在努力的第四部分。以下代码一直有效,直到第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()
    

    关于为什么最后一节不起作用的任何想法?事实上,它阻止了整个工作。

1 个答案:

答案 0 :(得分:1)

您在上一节中遗漏了一些冒号。试试这个:

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()