input = open('in.txt', 'r')
output = open('out.txt', 'w')
linesarray = input.readlines()
input.close()
seen = []
for line in linesarray:
if line not in seen:
seen.append(line)
output.writelines(seen)
Есть конечно вот такой код, но задача осложняется тем, что надо сравнить не строки целиком, а логика следующая: есть строка, содержащая IP-адрес и следом идет какой-то мусор, который нас не интересует, в другом файле этот айпишник тоже присутствует в какой-то строке, но за ним мусора не следует. Надо сделать так - если в одном файле присутствует айпишник и во втором файле он тоже есть в строке, то строку из второго файла, содержащую этот айпишник, нужно стереть, а в первом файле оставить все как есть.
Т.е. допустим вот пример строки из файла OLD.txt:
81.149.х.хх:3389;admin;123456 | Country: United Kingdom | State: N/A | City: | ZIP: N/A | ISP: BT |
Вот пример строки из второго файла NEW.txt:
174.127.xx.xx:3389;admin;123456 (т.е. уже в отпарсенном виде тоже самое)
В общем если в двух строках этих двух файлов есть один и тот же айпишник, то из файла NEW нужно его убить вместе со строкой, его содержащей, а OLD оставить без изменений, OLD вообще не трогать )