> отслеживать повторяются ли строки
Ты имеешь в виду, что в выходном файле не должно быть повторяющихся
строк? В таком случае, всё зависит от объёма данных. Если данные
помещаются в память, то:
def funique( it ) :
""" Frequently used and most portable but slowest version
"""
result = {}
for x in it :
result[x]=0
return result.keys()
def iunique( it ) :
""" Faster but less posrtable than funique() version. Requires Python 2.3.
Borrowed from zopyrus@itconnection.ru maillist. As far as I remember, from
Oleg Broytmann's message. Fix me if I'am mistaken (archive search is
broken).
"""
return dict(itertools.izip(it, itertools.repeat(0))).keys()
def kunique( it ) :
""" According to this benchmark it is the fastest unique implementation
with the same portability as iunique(). It definitely requires Python 2.3.
"""
return dict.fromkeys(it).keys()
Принимают итераторы в качестве аргументов, возвращают списки с
неповторяющимися элементами. Правда, нарушается порядок следования.
Можешь адаптировать для своих целей.