Игнорировать синтаксическую ошибку Python, исходящую из `PYTHONWARNINGS="error::Warning`?Python

Программы на Python
Ответить
Anonymous
 Игнорировать синтаксическую ошибку Python, исходящую из `PYTHONWARNINGS="error::Warning`?

Сообщение Anonymous »

Я использую PYTHONWARNINGS="error::Warning" для создания исключений при предупреждениях, но я хочу игнорировать некоторые такие исключения, что обычно нормально. Когда результатом является SyntaxError, иногда мне хотелось бы проигнорировать это, но не знаю как.

Подробный пример:

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

# has_deprecated_syntax.py
"""this becomes invalid: \* """
Тогда:

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

`$PYTHONWARNINGS="error::Warning" python3.6 -c "import     has_deprecated_syntax"
Traceback (most recent call last):
File "", line 1, in 
File "/Users/davidchudzicki/temp/so/has_deprecated_syntax.py", line 1
"""this becomes invalid: \* """
^
SyntaxError: invalid escape sequence \*
Эти попытки игнорировать это привели меня к одной и той же неудаче:

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

PYTHONWARNINGS="error::Warning,default::Warning:has_deprecated_syntax" python3.6 -c "import has_deprecated_syntax"
и

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

PYTHONWARNINGS="error::Warning,default::SyntaxError" python3.6 -c "import has_deprecated_syntax"
Для справки, вот что заставляет меня думать, что это правильная настройка среды в целом для игнорирования предупреждений от определенных модулей:

С:

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

# has_warning.py
import warnings
warnings.warn("hi")
... я получаю:

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

$PYTHONWARNINGS="error::Warning" python -c "import has_warning"
Traceback (most recent call last):
File "", line 1, in 
File "has_warning.py", line 3, in 
warnings.warn("hi")
UserWarning: hi
...который я могу игнорировать:

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

$PYTHONWARNINGS="error::Warning,default::Warning:has_warning" python -c
"import has_warning"
has_warning.py:3: UserWarning: hi
warnings.warn("hi")
Но это не работает для SyntaxError. Есть ли способ игнорировать их из определенных модулей?

(Примечание: я создал небольшой пример для этого вопроса, но настоящая причина, по которой меня это волнует, заключается в том, что я хочу чтобы не выдавать предупреждения в непрерывной интеграции для пакета, с которым я помогаю, но при этом я получаю SyntaxError от одной из наших зависимостей.)

Подробнее здесь: https://stackoverflow.com/questions/491 ... rorwarning
Ответить

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

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

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

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

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