0

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

  1. 接受一个参数(在本例中为文件名)并删除除 az AZ 0-9 和句点 '.' 之外的所有字符。
  2. 从新文件中删除所有信息,但稍后将与监视列表进行比较的 IP 地址除外
  3. 清理文件并将其另存为新文件以与监视列表进行比较
  4. 最后,它将清理后的文件 (ip_list_clea) 与监视列表文件进行比较,并将匹配的行输出到新文件 (malicious_ips)。

这是我正在努力解决的第 4 部分。以下代码一直有效,直到第 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()

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

4

1 回答 1

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()
于 2013-03-02T01:25:42.823 回答