Разбор файлов с помощью Python - PullRequest
0 голосов
/ 30 апреля 2009

Какой тип объектов Python следует использовать для анализа файлов с определенным синтаксисом? Также, какой цикл следует выполнить, чтобы пройти через файл. Достаточно ли одного прохода? Два, три?

Ответы [ 4 ]

3 голосов
/ 30 апреля 2009

Это зависит от грамматики. Вы можете использовать pyparsing вместо реализации собственного парсера. Он очень прост в использовании.

2 голосов
/ 30 апреля 2009

Вы должны предложить больше информации о ваших целях ...

  • Что за файл
  • Какая структура? Вкладка разделена? XML - как?
  • Что за кодировка?
  • Что такое целевая структура?
  • Вам нужно повторно анализировать файл через регулярные промежутки времени (например, переводчик)?
1 голос
/ 30 апреля 2009

насколько сложен синтаксис? ты изобретаешь новый или нет?

для сложного языка, рассмотрим привязки бизонов, такие как lex + pybison.

если вы можете решить, какой синтаксис использовать, попробуйте YAML.

0 голосов
/ 30 апреля 2009

Это не зависит от вашего языка программирования (python), если ваш парсер будет иметь один, два, три или n проходов. Это зависит от грамматики синтаксиса, который вы пытаетесь проанализировать.

Если синтаксис достаточно сложный, я бы порекомендовал комбо LEX / YACC, как сказал Фрэнсис.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...