2016-02-17 12 views
8

Il modulo say porta stringa di interpolazione per Python, in questo modo:Silenzio pylint avvertimento circa le variabili non utilizzate per la stringa di interpolazione

import say 

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

Tuttavia, pylint lamenta che la variabile 'a' non viene mai utilizzato. Questo è un problema perché il mio codice utilizza estensivamente lo say.fmt. Come posso mettere a tacere questo avvertimento?

+0

Does https: // docs. pylint.org/faq.html#is-it-possible-to-locally-disable-a-particular-message help? –

+0

Se si vuole veramente farlo, creare un file '.pylintrc' locale che sopprime tale avviso. –

+0

Dice use 'locals()' per ottenere gli argomenti? Sembra orribile. –

risposta

13

Sì, è possibile silenziare gli avvertimenti di pylint.

Ecco un modo:

import say 

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

In alternativa, è possibile creare un file di configurazione e aggiungere queste righe ad esso:

[MESSAGES CONTROL] 
disable=unused-argument 

Riferimento:

+1

La cosa divertente è che il tuo suggerimento viola anche una regola di filatura :) #pylint ... -> Il commento del blocco E265 dovrebbe iniziare con '#' – kupsef

2

Un approccio per mettere a tacere quel messaggio è dare un nome o il prefisso l'argomento con dummy o _, come in:

import say 

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

Vedi qui per ulteriori informazioni: https://stackoverflow.com/a/10107410/1080804

+2

Lo svantaggio di questo metodo è che cambia la firma della funzione, dal momento che in Python si può sempre chiamare: 'f (_a = 1)'. –

Problemi correlati