Найти - Пользователи
Полная версия: Обработка файла размером 150 Мбайт
Начало » Python для экспертов » Обработка файла размером 150 Мбайт
1 2 3
python1991
Только что поменял на f = open(“C:\\imi.txt”,“r”)
Все также
Rodegast
> я смотрел на скрипт около 5 минут. Ничего не вышло. 5 минут это очень долго)))

Какой либо вывод есть или за 5 минут вообще ничего не происходит?
P.S. Для регулярок нужно использовать сырые строки, а в твоём случаи ещё и re.compile. Цикл в начале скрипта мне тоже не нравится… В общем есть над чем работать.
py.user.next
FishHook
/e - это всё-таки управляющий символ
Чего?

python1991
rex_index = "[i][n][d][e][x]\s[=]\s[0-9]+"
Ты, может, не в курсе, но такое записывается по-другому.
rex_index = "index\s=\s[0-9]+"

python1991
    if "113 Incoming Trunk Data" or "114 Outgoing Trunk Data" in line:
Тоже лажа какая-то. Да ты бы хоть проверял, что получается в результате таких операций.
Открой консоль cmd.exe, там питон запусти и просто проверь то, что ты пишешь.
Операция or так не работает.
FishHook
py.user.next
Чего?
py.user.next
FishHook
/e - это всё-таки управляющий символ
Ну, там не может быть слеша. Управляющие последовательности только с бэкслешем могут быть.
FishHook
py.user.next
Ну, там не может быть слеша. Управляющие последовательности только с бэкслешем могут быть.
Тем не менее, что вы что конкретно предлагаете? Он в одном месте такие слеши пишет в другом другие, что нужно читать краткую лекцию по кодировкам, особенностям операционных систем и отличиям в путях к файлам каждому, кто не понимает, зачем нужен префикс r и path.join? Он и до сих пор не понял.
python1991
py.user.next,
if “113 Incoming Trunk Data” or “114 Outgoing Trunk Data” in line: почему это лажа?
Там я просто не прокомментировал, эта строка кода означает следущее что в строке может быть
“113 Incoming Trunk Data” или “114 Outgoing Trunk Data” если есть что-то одно из этих двух значений то я беру его и вывожу.

А так я проверял, выводил я не на консоль а в файл (python mysxript.py > /home/user/simple.txt), на Линуксе выводит все правильно , а вот на Винде ничего не выводит не в файл не в консоль
python1991
Ребят. я пишу пути разные на разных ОС в линуксе open(“/home/”) а на винде open(“C:\\”)
когда дело касается обработки файла тут проблемы
Согласен попробую в понедельник использовать как было замечено “Rodegast”-ом не re.findall(), а re.compile() может поможет.

Ребят, если есть какие-то еще претензии к коду то пожалуиста напишите о них.
JOHN_16
python1991
Вам пытаются намекнуть, что вы не правильно понимаете как работает конструкция. Вот пример.
>>> a ='Привет'
>>> b = 'мир'
>>> print(a or b in 'Привет мир')
Привет
>>> print(a or b in 'У меня сегодня пурга, переметы снега в 1 метр высотой')
Привет
>>> 
>>> print(a in 'Привет мир' or b in 'Привет мир')
True
>>> print(a in 'Hello world' or b in 'Hello world')
False
python1991
JOHN_16. я это понел, исправил if “113 Incoming Trunk Data” or “114 Outgoing Trunk Data” in line
оставил только if “113 Incoming Trunk Data” in line
таже песня
Но видите этот скрипт работает на Линуксе за 5-6 секунд
А Винде очень долго больше 5 минут
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