Найти - Пользователи
Полная версия: Как записать результат в текстовый файл?
Начало » Python для новичков » Как записать результат в текстовый файл?
1 2 3
Divergent
В моей мини проге считываю данные из файла и записываю в другой определённые данные.

Записываемые данные иногда повторяются. Как сделать так, чтобы при повторении данные не записывались?
Ferroman
В каком смысле “повторяются”? По всему файлу, или подряд?
Divergent
По всему файлу. То есть к примеру первая строчка и тысяча первая повторяются. Как бы сделать так, чтобы при записи тысячи первой строки её не записывать или записать “повтор”, так как она уже есть.
Ferroman
Читать в память, после чего удалять дубли. Годится, если файл маленький.
Делать хеш каждой строчки и держать в месте удобном для поиска - памяти (надо посчитать для какого размера имеет смысл), или в временной базе данных (sqlite), если файл очень большой и строчек слишком много, что бы оперировать в памяти их хешами. Ну, или есть ограничение на размер оперативки.
Divergent
Я пробовал создать ещё третий файл куда будут скидываться сначало данные, затем во второй. Далее по циклу прежде чем записать во второй идёт проверка в третьем.
Ferroman
Я бы писал хеш, и в базу. Ввод-вывод большой строки, думаю, медленнее, чем вычисление хеша и его зачитка.
Divergent
Хелп ми…

Не могу понять в чём косяк объявленной мною функции.

def NOMER(l):
if re.search(r“\d{6}\n”,l):
print l
s=l
return s

Дальше в окне даю
>>> l=f1.readline()
>>> print l
112233

>>> NOMER(l)

Traceback (most recent call last):
File “<pyshell#94>”, line 1, in <module>
NOMER(l)
File “<pyshell#75>”, line 5, in NOMER
return s
UnboundLocalError: local variable ‘s’ referenced before assignment

Нужно чтобы далее я мог использовать переменную s в другом цикле.
Ferroman
Один вопрос - одна тема.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB