Как использовать кластер Redis с StackExchange.Redis?

Без флага re.MULTILINE флаг $ соответствует только в конце строки.

Чтобы упростить отладку, разделите код на несколько частей, которые вы можете проверить самостоятельно.

def extract_ips(data):
    return re.findall(r"\d{1,3}(?:\.\d{1,3}){3}", data)

Если входной файл невелик, и вам не нужно сохранять исходный порядок ips:

with open(filename) as infile, open(outfilename, "w") as outfile:
    outfile.write("\n".join(set(extract_ips(infile.read()))))

В противном случае:

with open(filename) as infile, open(outfilename, "w") as outfile:
    seen = set()
    for line in infile:
        for ip in extract_ips(line):
            if ip not in seen:
               seen.add(ip)
               print >>outfile, ip

0
задан Edson Flores Palma 11 March 2019 в 20:51
поделиться