2014-11-06 2 views
-1

Я удалил весь код и добавил все файлы в один большой текстовый файл (3,89 ГБ) .. Но я все еще не могу удалить все повторяющиеся слова, потому что я не могу загрузить весь файл в ['list'] Я хочу удалить все повторяющиеся слова в файле dict.txt. Мой код на данный момент загружает 10 000000 слов ан список и удалить дубликаты в списке ....Удалить дубликаты из нескольких текстовых списков слов python

count = 0 
strings = [] 
dict_o = open ('./dict/dict.txt','r') 
for line in dict_o: 
    strings.append(line) 
    count+=1 
    if count > 10000000: 
    strings_s =set(strings) 
    strings_so = sorted(strings_s) 
    out = open('./dict/dict1.txt','a').writelines(strings_so) 
    count = 0 
    strings= [] 
+1

Короче говоря, репрезентативный пример поможет многое – inspectorG4dget

+0

Какова цель наличия нескольких файлы? По-видимому, имеет смысл вкладывать слова в простую базу данных (например, SQLite). – bernie

+0

Хе-хе .. если я не понимаю вас, ваша идея состоит в том, чтобы иметь только один большой текстовый файл .... Тест открыть и прочитать текстовый файл размером до 4 ГБ даст MemoryError ... – nkf4

ответ

0

много способов сделать это, ленивым способом было бы создать экземпляр list-- затем разобрать через текст файл и проверьте, существует ли в списке каждое слово. если это так, то удалите его. Если это не так, добавьте его в список и продолжайте.

Есть много способов удалить его, а самое ленивое решение - создать финальную строку и объединить каждое слово, которое не является дубликатом. Затем в конце напишите эту строку в файл.

Как было отмечено в комментариях, пример текстового файла поможет много придумать лучшее решение

+0

У меня есть редактирование моего сообщения сейчас ... – nkf4

+0

Если все строки были в одном файле, и я использую set(), я получу ошибку памяти, поэтому у меня есть их разделение, поэтому python может читать тему. – nkf4

+0

У меня может быть время, чтобы помочь вам этим вечером; если вам все еще нужно. Не могли бы вы опубликовать код, который у вас есть прямо сейчас? А также лучшее объяснение того, что вам нужно? –

Смежные вопросы