Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 25, 2015 12:09:31

python1991
Зарегистрирован: 2015-12-25
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка файла размером 150 Мбайт

Только что поменял на f = open(“C:\\imi.txt”,“r”)
Все также

Офлайн

#2 Дек. 25, 2015 13:51:10

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2759
Репутация: +  185  -
Профиль   Отправить e-mail  

Обработка файла размером 150 Мбайт

> я смотрел на скрипт около 5 минут. Ничего не вышло. 5 минут это очень долго)))

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



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Дек. 25, 2015 14:29:31

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

Обработка файла размером 150 Мбайт

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 так не работает.



Отредактировано py.user.next (Дек. 25, 2015 14:30:34)

Офлайн

#4 Дек. 25, 2015 14:31:44

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Обработка файла размером 150 Мбайт

py.user.next
Чего?



Офлайн

#5 Дек. 25, 2015 15:12:25

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

Обработка файла размером 150 Мбайт

FishHook
/e - это всё-таки управляющий символ
Ну, там не может быть слеша. Управляющие последовательности только с бэкслешем могут быть.



Офлайн

#6 Дек. 25, 2015 17:22:52

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Обработка файла размером 150 Мбайт

py.user.next
Ну, там не может быть слеша. Управляющие последовательности только с бэкслешем могут быть.
Тем не менее, что вы что конкретно предлагаете? Он в одном месте такие слеши пишет в другом другие, что нужно читать краткую лекцию по кодировкам, особенностям операционных систем и отличиям в путях к файлам каждому, кто не понимает, зачем нужен префикс r и path.join? Он и до сих пор не понял.



Офлайн

#7 Дек. 26, 2015 13:13:16

python1991
Зарегистрирован: 2015-12-25
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка файла размером 150 Мбайт

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), на Линуксе выводит все правильно , а вот на Винде ничего не выводит не в файл не в консоль

Офлайн

#8 Дек. 26, 2015 13:38:20

python1991
Зарегистрирован: 2015-12-25
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка файла размером 150 Мбайт

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

Ребят, если есть какие-то еще претензии к коду то пожалуиста напишите о них.

Офлайн

#9 Дек. 26, 2015 13:59:04

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Обработка файла размером 150 Мбайт

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



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#10 Дек. 26, 2015 14:50:17

python1991
Зарегистрирован: 2015-12-25
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка файла размером 150 Мбайт

JOHN_16. я это понел, исправил if “113 Incoming Trunk Data” or “114 Outgoing Trunk Data” in line
оставил только if “113 Incoming Trunk Data” in line
таже песня
Но видите этот скрипт работает на Линуксе за 5-6 секунд
А Винде очень долго больше 5 минут

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version