Как мне передать несколько фильтров предупреждений в python -W?

#python #warnings

#python #предупреждения

Вопрос:

Согласно документации Python, я могу передать несколько фильтров предупреждений:

При перечислении нескольких фильтров в одной строке (как для PYTHONWARNINGS) отдельные фильтры разделяются запятыми

Но когда я пытаюсь это сделать, Python жалуется, что игнорирует недопустимый параметр. Здесь я пытаюсь передать always:::: и error::RuntimeWarning:: :

 $ python -W 'always::::,error::RuntimeWarning::' -c "print('hello, world')"
Invalid -W option ignored: too many fields (max 5): 'always::::,error::RuntimeWarning::'
  

Это работает, если я запускаю

 PYTHONWARNINGS="always::::,error::RuntimeWarning::" python -c "print('hello, world')"
  

но каков синтаксис для передачи этого в качестве флага командной строки?

Комментарии:

1. Как следует из текста, который вы цитируете, синтаксис, разделенный запятыми, относится к PYTHONWARNINGS . При использовании -W , я думаю, вам просто нужно передать несколько экземпляров опции.

Ответ №1:

Попробуйте добавить в свой скрипт следующее

 import warnings
warnings.filterwarnings("ignore")
  

Комментарии:

1. Я знаю, что могу сделать это по сценарию. Вопрос в том, как это сделать через командную строку.