我对这张照片中的错误感到困惑:
我不知道该如何解决。我的程序是Python-Flask网络框架。当我使用VScode调试程序时,Pylint显示这些错误。我知道这个问题无关紧要,但这让我很烦。我该如何解决?
# -*- coding: utf-8 -*-
import sys
from flask import Flask
from flask_bootstrap import Bootstrap
from flask_moment import Moment
#from flask_wtf import Form
#from wtforms import StringField, SubmitField
#from wtforms.validators import Required
from flask_sqlalchemy import SQLAlchemy
reload(sys)
sys.setdefaultencoding('utf-8')
app = Flask(__name__)
app.config['SECRET_KEY'] = 'hard to guess string'
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:@localhost:3306/test?'
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
bootstrap = Bootstrap(app)
moment = Moment(app)
db = SQLAlchemy(app)
if __name__ == '__main__':
db.create_all()
app.run()
正如Kundor所解释的,PEP 8指出:
常量通常在模块级别定义,并以所有大写字母书写,并用下划线分隔单词。
关键是python中的“常量”实际上并不存在。根据PEP 8,Pylint期望模块级别的变量为“常量”。
话虽这么说,您有几种选择:
您不需要这种“恒定”的东西,然后将pylint的const-rgx
正则表达式更改为与eg相同variable-rgx
,
你可以在文件中禁用这些警告该文件,甚至在本地使用# pylint: disable=invalid-name
,
通过将它们包装到函数中来避免模块级变量。
在您的情况下,我将选择第三个选项,即创建一个build_app
函数或类似的东西,该函数将返回应用程序(也许还有“ db”对象,但您在那里有多种选择)。然后,您可以添加第二个选项的盐以获得类似以下内容:
app = build_app() # pylint: disable=invalid-name
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句