Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 派林抱怨,但它是否违反了PEP8?_Python_Pep8 - Fatal编程技术网

Python 派林抱怨,但它是否违反了PEP8?

Python 派林抱怨,但它是否违反了PEP8?,python,pep8,Python,Pep8,我的代码中有此部分: class CSVFile(): # Keys in kwargs that are not allowed __black_list = ()

我的代码中有此部分:

 class CSVFile():                                                                

     # Keys in kwargs that are not allowed                                       
     __black_list = ()                                                           

     def __init__(self, **kwargs):                                               
         for (k, v) in kwargs.iteritems():                                       
             if k in self.__class__.__black_list:                                
                 LOG.error("%s is not allowed ", k)                              
             setattr(self, k, v) 
如您所见,我正在将
key=>value
对指定为实例变量。稍后在代码中,我将使用我在这里设置的变量(例如,
self.dest

当我用
pylint
检查时,它会抱怨:

E: 54,32:CSVFile.upload_file_to_s3: Instance of 'CSVFile' has no 'dest' member
显然,如果我在
\uuu init\uuu
方法中定义
self.dest
,那么这个错误就会消失


所以问题是:从PEP8的角度来看,这段代码看起来“糟糕”吗

你所做的没有什么不对

记住,pylint是一个工具(也是一个很棒的工具),但肯定不是目标

您应该继续使用pylint,但有时它会造成麻烦,您可以自定义要运行的检查。在这种情况下,您希望禁用该特定检查


请参阅的答案,其中解释了如何对其进行自定义。

关于您的代码,我看到的唯一潜在冲突是
**kwargs
中的键值格式只要**kwargs元素跟在后面(所有单词都是小写字母,用下划线分隔),就可以了。

PyLint向您抱怨的原因是它不能告诉您CSVFile对象将具有
dest
属性(或者任何其他属性,因为它们是动态附加的)

总的问题是PyLint进行PEP8检查,但它也做其他事情。这个信息是“其他东西”的一部分


干杯。

我认为这与PEP8无关,可能是一个bug。如果您的代码试图访问一个不存在的属性,您需要处理它。顺便说一句,您需要记录错误并指定一个值。这种行为是故意的吗?@alkogood point,刚意识到,当发布代码时