Предупреждение Silence PyLint о неиспользуемых переменных для Строковой интерполяции

на say модуль приносит интерполяцию строк в Python, например:

import say

def f(a):
    return say.fmt("The value of 'a' is {a}")

однако PyLint жалуется, что переменная " a " никогда не используется. Это проблема, потому что мой код использует say.fmt широко. Как я могу заглушить это предупреждение?

3 ответов


Да, вы можете отключить предупреждения pylint.

вот один из способов:

import say

def f(a):
    #pylint: disable=unused-argument
    return say.fmt("The value of 'a' is {a}")

кроме того, вы можете создать файл конфигурации и добавить в него следующие строки:

[MESSAGES CONTROL]
disable=unused-argument

ссылки:


один из подходов к глушению этого сообщения-назвать или префикс аргумента dummy или _, например:

import say

def f(_a):
    return say.fmt("The value of 'a' is {_a}")

см. здесь для получения дополнительной информации: https://stackoverflow.com/a/10107410/1080804


здесь disable-possibly-unused-variable сейчас (после pylint 2.0 был выпущен на 2018-07-15), которые можно игнорировать в файлах импорта say модуль:

новая возможно-неиспользованный-переменная проверка.

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

например, следующий код теперь вызовет эту новую ошибку:

def func():
    some_value = some_call()
    return locals()

обоснование этой проверки явно включает ваш вариант использования, хотя отмечается, что это не идеальное решение:

было бы здорово иметь отдельную проверку неиспользованных переменные, если locals () используется в той же области:

def example_no_locals():
  value = 42  # pylint: disable=unused-variable

def exmaple_defined_before():
  value = 42  # pylint: disable=possibly-unused-variable
  print(locals())

def exmaple_defined_after():
  print(locals())
  value = 42  # pylint: disable=unused-variable

преимущество этого заключается в том, что можно отключить, вероятно, неиспользуемую переменную для файла (в котором много форматирования строк, или пример кода конфигурации в #641) или весь проект без потери проверки неиспользуемой переменной.