【问题标题】:Getting invalid function name warning using Python使用 Python 获取无效的函数名警告
【发布时间】:2017-08-08 05:59:45
【问题描述】:

我正在使用 pylint 格式化 Python 代码并收到一些不需要的警告消息,如下所示。

C:204, 0: Invalid function name "sendPasswordViaEmail" (invalid-name)
C:207, 4: Invalid variable name "to" (invalid-name)
W:213, 4: Statement seems to have no effect (pointless-statement)

我在下面提供与上述消息相关的代码。

if request.method == 'POST':
        name = request.POST.get('uname')
        email = request.POST.get('uemail')
        range_start = 10 ** (4 - 1)
        range_end = (10 ** 4) - 1
        password = randint(range_start, range_end)
        passw = User(
            uname=name,
            password=password,
            raw_password=password,
        )
        passw.save()
        sendPasswordViaEmail(str(password), email)
    return render(request, 'bookingservice/login.html')


def sendPasswordViaEmail(password, email):
    """ Send email to user"""

    to = email
    gmail_user = settings.EMAIL
    gmail_pwd = settings.PASSWORD
    smtpserver = smtplib.SMTP("smtp.gmail.com", 587)
    smtpserver.ehlo()
    smtpserver.starttls()
    smtpserver.ehlo
    smtpserver.login(gmail_user, gmail_pwd)
    header = 'To:' + to + '\n' + 'From: ' + \
        gmail_user + '\n' + 'Subject:password \n'
    msg = header + '\n Your password is\n\n' + password
    smtpserver.sendmail(gmail_user, to, msg)
    smtpserver.close()

【问题讨论】:

  • 这是PyLint 消息。 “在名称不符合与其类型相关的命名约定(常量、变量、类……)时使用”。
  • sendPasswordViaEmail 是无效名称。正确的名字是 send_password_via_email

标签: python pylint


【解决方案1】:

这些消息是警告(您的代码有效),而不是错误。

sendPasswordViaEmail 是驼峰式名称。功能应该是“蛇皮”。将其重命名为send_password_via_email

to 太短。试试recipient 或其他有意义的东西。

包含smtpserver.ehlo 且不带括号的行不执行任何操作,因此无用。

【讨论】:

  • 最后一个很奇怪。 pylint 真的会检查您没有访问具有副作用的描述符吗?
猜你喜欢
  • 2012-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-18
  • 1970-01-01
  • 2018-11-05
  • 2019-06-15
相关资源
最近更新 更多