Найти - Пользователи
Полная версия: Обработка файла размером 150 Мбайт
Начало » Python для экспертов » Обработка файла размером 150 Мбайт
1 2 3
py.user.next
python1991
на Линуксе выводит все правильно , а вот на Винде ничего не выводит не в файл не в консоль
Так ты даже виндовый код не привёл. То, что ты привёл, это какая-то лажа, начиная от неправильных регулярок, заканчивая повсеместными findall()'ми, которые создают списки на каждой строке.

Лучше напиши, что пытаешься сделать, приведи пример файла (обрежь его до нескольких строк) и что нужно из него получить.
python1991
Ребят всем спасибо за отклики и за комменты!!!
Проблему решил следущим образом
Все отставил только заменил кусок кода кто смотрел (начало)
там где идут рег выражения оставил также правда с некоторыми изменениями которые Вы посоветовали

str_str = “”
str_list =
f = open(“C:\\111\\z.txt”,“r”)
for line in f.readlines():
if len(line.strip()) <= 0:
continue
elif line.strip() != “—————————”:
str_str = str_str + line.strip()
elif line.strip() == “—————————”:
str_list.append(str_str); str_str = “”


Проблема была в том что переменная str_str не может хранить строки всего файла (150 Мбайт)

py.user.next
python1991
Проблема была в том что переменная str_str не может хранить строки всего файла (150 Мбайт)
Так вот у тебя строка, которая точно так же весь файл загружает в оперативную память (что не нужно делать)
python1991
for line in f.readlines():
Rodegast
> Согласен попробую в понедельник использовать как было замечено “Rodegast”-ом не re.findall(), а re.compile() может поможет.

compile не заменяет findall. Т.е. у тебя должно быть что-то вроде:
rex_start_time = re.compile(r"\d{4}\s\d{2}[.]\w{3}\s\d{2}[:]\d{2}[:]\d{2}[:]")
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