Python: NameError: свободная переменная «re», на которую ссылаются перед присвоением во включающей областиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python: NameError: свободная переменная «re», на которую ссылаются перед присвоением во включающей области

Сообщение Anonymous »

У меня странная ошибка NameError в Python 3.3.1 (win7).

Код:

Код: Выделить всё

import re

# ...

# Parse exclude patterns.
excluded_regexps = set(re.compile(regexp) for regexp in options.exclude_pattern)

# This is line 561:
excluded_regexps |= set(re.compile(regexp, re.I) for regexp in options.exclude_pattern_ci)
Ошибка:

Код: Выделить всё

Traceback (most recent call last):
File "py3createtorrent.py", line 794, in 
sys.exit(main(sys.argv))
File "py3createtorrent.py", line 561, in main
excluded_regexps |= set(re.compile(regexp, re.I) for regexp in options.exclude_pattern_ci)
File "py3createtorrent.py", line 561, in 
excluded_regexps |= set(re.compile(regexp, re.I) for regexp in options.exclude_pattern_ci)
NameError: free variable 're' referenced before assignment in enclosing scope
Обратите внимание, что строка 561, в которой возникает ошибка, является второй строкой в ​​приведенном выше коде. Другими словами: re не является свободной переменной. Это просто модуль регулярных выражений, и на него вполне можно ссылаться в первой строке.

Мне кажется, что ссылка на re .I вызывает проблему, но я не понимаю, как это сделать.

Подробнее здесь: https://stackoverflow.com/questions/165 ... -enclosing
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»