warning vscode traduccion quitar mostrar examples eliminar disable python warnings pylint

python - vscode - warnings examples



"Advertencia de importaciĆ³n no utilizada" y pylint (5)

Como se ha mencionado, envuélvalo en una función y llamar a la configuración explícitamente resolvería esta advertencia. Y como Steven mencionó, este sería considerado un mejor código, ya que es más explícito sobre lo que está haciendo.

Si le preocupa llamar a esta función dos veces, puede, por supuesto, usar un indicador interno de módulo para permitir la ejecución del cuerpo de la función solo una vez.

__initialized = False def init(): if not __initialized: __initialized = True #DoStuff

Así que estoy trabajando en un proyecto en Python y tratando de mantenerlo a la altura de los estándares con pylint y en general Entonces, tengo un archivo de origen, (lo llamaremos a.py)

#a.py import loggingsetup def foo(): log.info("This is a log message")

Pero, quiero controlar cómo se ve el registro, así que en loggingsetup tengo algo como:

#loggingsetup.py import logging logging.root.setLevel(logging.DEBUG) consoleOut = logging.StreamHandler() consoleOut.setLevel(logging.INFO) consoleOut.setFormatter(logging.Formatter("/t"+logging.BASIC_FORMAT)) logging.root.addHandler(consoleOut) #etc

Ahora, esto parece funcionar bien. Supongo que, como pregunta preliminar, debería preguntar si esta es la forma correcta de hacerlo, o si hay una forma diferente de estructurar mi código que sería preferible.

Pero mi pregunta principal es que cuando ejecuto pylint en a.py recibo una advertencia como "import - import loggingetup sin usar", ya que no estoy llamando a ningún método o función desde loggingsetup.

Podría hacer algo como redefinir el cuerpo de loggingsetup como una función y llamarlo, pero parece tonto y propenso a errores (tendría que preocuparme de llamarlo dos veces si importé loggingsetup de otra parte, y si entiendo cómo Python maneja las importaciones, eso no es un problema con mi configuración actual).

Obviamente, simplemente podría decirle a pylint que ignore la advertencia, pero pensé que primero pediría aquí para asegurarme de que esto no sea algo que deba manejar de manera diferente.


El enfoque que usaría es usar loggingsetup como una especie de envoltorio para el logging .

import logging # set up logging config here from logging import *

Luego en sus otros módulos usted:

import loggingsetup as logging

Es posible que desee utilizar un nombre distinto de loggingsetup en este caso, por ejemplo, tweaked_logging o logging_with_my_settings .


En tales casos, aún puede indicar explícitamente a pylint que esta importación no utilizada está prevista:

import loggingsetup # pylint: disable=unused-import

Observe que la instrucción está en la misma línea que la importación, por lo que W0611 solo está deshabilitado para esta línea y no para todos los bloques a continuación.


Si usa pylint y flake8 , puede ignorar la advertencia de importación no utilizada en ambas herramientas de esta manera:

import loggingsetup # noqa # pylint: disable=unused-import


su código debe estar en una función llamada una vez en el script principal