LINUX.ORG.RU

Парсинг текстового файла на Python

 , , ,


0

1

Есть текстовый файл, примерно на 10 строк. Из этого файла нужно по определенным критериям выбрать некоторые слова, к примеру, выбрать слово, идущее после запятой, или выбрать слово, идущее после «start».

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

Если можно, с примерами кода.

Заранее спасибо!

man регулярные выражения

WRG ★★★★ ()

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

Зачем? Домашку задали?

anonymous ()

Попробуй метод find, он вернёт позицию найденной подстроки, а дальше уже можешь выдать кусок строки от и до определённой позиции используя так называемый «slicing»

grem ★★★★★ ()
Последнее исправление: grem (всего исправлений: 1)
cat google://Grammar/Parsing > /dev/head
man bnf
man конечный автомат
cat google://DesignPatterns/Interpreter > /dev/head
man sax # !< для понимания как примерно сиё обычно используется

Дабы народ не негодовал чего так сложно, сразу парирую - если граматика простая, то и решение получится простое и короткое.

Поискав сэмплы на питоне, узнал что в сим прекрасном языке имеется встроенное решение, поэтому просто слушай товарища gh0stwizard :)

pon4ik ★★★★★ ()

без использования регулярных выражений?

Зачем такое ограничение? Anyway:

выбрать слово, идущее после запятой

[x.split()[0] for x in alldata.split(',')[1:]]

выбрать слово, идущее после «start»

[x.split()[0] for x in alldata.split('start')[1:]]

в примерах выше — все такие слова. Если там одна запятая, то соответственно просто alldata.split(',')[1].split()[0]. Но лучше просто воспользоваться регулярками.

P.S. в [inline] подсветка не работает что ли?

Psych218 ★★★★★ ()
Последнее исправление: Psych218 (всего исправлений: 3)
Ответ на: комментарий от gh0stwizard

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

Мэй би я просто плохо знаю питон.

pon4ik ★★★★★ ()

Если ты хочешь что-то делать со строками, то надо узнать, какой функциональностью обладают строки в питоне. Это можно узнать за 10-15 минут, просто вводишь в bash «python», а потом в интерактивной сессии питона — «help(")». Всё, изучаешь выхлоп хелпа.

Virtuos86 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.