Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 5, 2020 00:28:28

nv_fan
Зарегистрирован: 2020-02-07
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Memory Error

Добрый день.
Для извлечения нужной информации из файла использую следующий код:

 result = open("output.txt", mode="w")
with open("input.txt") as file:
    for i in file.readlines():
        if i.startswith("NumArt"):
            result.write(i.split("NumArt:")[-1].strip())
            result.write('\n')
result.close()

При небольшом размере входного файла все работает отлично. Но если во входном файле большое количество строк (30кк и более), то происходит краш с выводом сообщения “MemoryError”.

Понятно что можно разделить исходный файл на меньшие части и обработать их отдельно, но это лишние телодвижения…
Подскажите пожалуйста есть какой-нибудь выход из ситуации?

Офлайн

#2 Сен. 5, 2020 06:39:52

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9882
Репутация: +  853  -
Профиль   Отправить e-mail  

Memory Error

nv_fan
 for i in file.readlines():
 for i in file:



Офлайн

#3 Сен. 5, 2020 10:40:38

nv_fan
Зарегистрирован: 2020-02-07
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Memory Error

py.user.next

Спасибо.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version