簡體   English   中英

Pylint給出了錯誤,但是代碼可以正常工作

[英]Pylint giving errors, but the code works fine

No config file found, using default configuration
************* Module sendmail
C:153,0: Line too long (146/80)
C:156,0: Line too long (105/80)
C:190,0: Line too long (88/80)
F:  8,0: Unable to import 'email.MIMEMultipart'
E:  8,0: No name 'MIMEMultipart' in module 'email'
F:  9,0: Unable to import 'email.MIMEBase'
E:  9,0: No name 'MIMEBase' in module 'email'
E: 10,0: No name 'Encoders' in module 'email'
R: 47,0:sendmail: Too many arguments (7/5)
R: 47,0:sendmail: Too many local variables (17/15)
W: 74,4:sendmail: No exception type(s) specified
W: 95,12:sendmail: No exception type(s) specified
R:142,0:commandline_handler: Too many branches (15/12)

注意無法導入,但是我的腳本可以正常工作。 這是有問題的代碼:

#!/usr/local/bin/python
''' sendmail module.

Can be used to send mail, attachments, or otherwise.

'''
from email.mime.text import MIMEText
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email import Encoders
import getopt
import os
import smtplib
import sys

def main():

當我運行程序時,它運行良好,但是為什么pylint會抱怨?

我只是通過做pylint

pylint sendmail.py

我從http://www.logilab.org/安裝了pylint和logilab庫

使用python 2.6.6的python 64位和32位都以相同的方式抱怨。

各種大寫名稱在Python 2.5中已重命名。 有關詳細信息,請參見http://docs.python.org/release/2.7/library/email.html#package-history 基本email包的__init__.py做了一些技巧來使舊名稱在python中起作用,但是由於pylint有其自己的單獨的導入方法,因此這些技巧在pylint中不起作用。

切換到新名稱,您應該可以:

from email.mime import multipart as MIMEMultipart
from email.mime import base as MIMEBase
from email import encoders as Encoders

例如。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM