Возникли проблемы с пользовательским модулем Python (NameError) - PullRequest
0 голосов
/ 19 марта 2019

Я давно использую Python для написания скриптов.По одному из моих более крупных проектов требовалось разбить мой код на модули.Я опишу сценарий ниже.

В настоящее время у меня есть два модуля.Модуль A и Модуль B.

Модуль A - это класс, который используется для хранения данных об атрибутах объектов.Он также состоит из ряда полезных функций, которые помогают при синтаксическом анализе данных.

Модуль B - это очень простой вспомогательный класс с рядом функций синтаксического анализа, которые определяются пользователем.

СпособТеперь все настроено, пользователь должен импортировать модули A и B отдельно и создать список всех объектов функций в модуле B. Этот список функций добавляется в модуль A путем передачи его в качестве атрибута методу A.add_parser () .Этот метод устанавливает функции из B как атрибуты A, используя имя функции.

Теперь все это прекрасно работает, и я проверил это.Проблема в том, что одна из функций синтаксического анализа вызывает использование модуля RegEx re .Я получаю

NameError: name 're' is not defined

Я отдельно импортировал модуль re и все еще получаю эту ошибку.Я знаком с правилом LEGB и, поскольку re присутствует в области действия global , я не понимаю, почему я получаю эту ошибку.

Любая помощь приветствуется.Спасибо!

1 Ответ

0 голосов
/ 19 марта 2019

нужно только импортировать библиотеку, перед использованием

import re

m = re.search ('(? <= Abc) def', 'abcdef') </p>

m.group (0)

'def'

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