在Python中,如果一个类的某些方法需要一个辅助函数,但是辅助函数本身没有在类中使用任何东西,我应该把辅助函数放在类内还是外? 我试图把它放在里面,但PyLint抱怨说这个函数可能已经放在了外面。 @Karl: 这个类是一个软件升级器,如果该文件夹还不存在,辅助函数会创build一个新的文件夹。 这个类在一个模块中,几乎只有这个类的代码。 其他课程可能会在稍后添加。
我正在运行Linux。 我能做些像pylint –generate-rcfile > .pylintrc ,然后更改生成.pylintrc文件来覆盖默认设置? 如果是这样,它应该在我的~/目录,或者我应该把它放在.pylint.d?
我做了一个简单的python脚本在网站上发布数据。 #Imports url_to_short = sys.argv[1] post_url = 'https://www.googleapis.com/urlshortener/v1/url' headers = {'Content-Type': 'application/json'} data = {'longUrl': url_to_short} post_data = json.dumps(data) req = urllib2.Request(post_url, post_data, headers) resp = urllib2.urlopen(req) if resp.getcode() == 200: content = json.loads(resp.read()) #Other stuff 现在我想我们用pylint工具检查脚本的编码标准。 我的pylint输出如下: ************* Module post C: 1,0: Missing docstring C: 6,0: Invalid name "url_to_short" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$) C: 8,0: […]
我有一个Python函数,它将一个列表作为参数。 如果我将参数的默认值设置为这样一个空列表: def func(items=[]): print items Pylint会告诉我“危险的默认值[]作为参数”。 所以我想知道这里最好的做法是什么?
我仍然习惯于python约定和使用pylint使我的代码更pylint ,但我感到困惑的事实,pylint不喜欢单个字符variables名称。 我有几个这样的循环: for x in x_values: my_list.append(x) 当我运行pylint ,我得到Invalid name "x" for type variable (should match [a-z_][a-z0-9_]{2,30} – 这表明有效的variables名称必须介于3和31个字符长,但我已经通过PEP8命名约定 ,我没有看到任何明确的单个小写字母,我看到很多使用它们的例子。 在PEP8中是否有我缺less的东西,或者这是对pylint独特的标准吗?
我有一个python类,并运行pylint。 一条消息是: Warning: Method could be a function 这是否告诉我,将这个方法移出类是更好的,因为它不使用任何实例variables? 在C#中,我会使这个静态方法。 什么是最pythonic在这里做什么?
我们在构build系统中使用了pylint。 我们在我们的代码库中有一个python包,它有一次性的代码,我想暂时禁用一个模块的所有警告,所以我可以停止使用这些多余的消息来窃听其他的开发者。 有一个简单的方法来pylint: disable模块的所有警告?
对于下面的代码: logger.debug('message: {}'.format('test')) pylint产生以下警告: logging格式插值(W1202): 在logging函数中使用%格式,并将参数作为parameter passing。当logging语句具有调用格式“logging。(format_string.format(format_args …))”时使用。 这样的调用应该使用%格式来代替,但是通过传递参数作为参数来对logging函数进行插值。 我知道我可以关掉这个警告,但是我想明白这一点。 我认为使用format()是在python3打印语句的首选方法。 为什么logging器陈述不正确?
我见过如何在Python代码中find未使用的函数? 但是这真的很老,并没有真正回答我的问题。 我有一个大型的Python项目与多个入口点脚本共享多个库。 这个项目已经和很多作者一起吸引了很多年,所以有很多死代码。 你知道该怎么做。 我知道find所有的死代码是不可判定的。 我所需要的只是一个能find所有不被任何地方调用的函数的工具。 我们根本不用调用基于函数名string的函数做任何事情,所以我不担心任何病态的… 我只是安装了pylint,但它似乎是基于文件的,而不是很注意文件间依赖关系,甚至是函数依赖关系。 显然,我可以在所有的文件中使用grep来获取def,从中获得所有的函数名,并为每个函数名做一个grep。 我只是希望有一些比那里更聪明的东西。 ETA:请注意,我不期望或想要完美的东西。 我知道我的停止问题certificate和其他人一样(当我看到recursion可枚举的东西时,我没有真正教过计算理论)。 任何试图通过实际运行代码来逼近它的事情都会花费太长时间。 我只是想在语法上通过代码的东西,并说:“这个function是肯定使用的,这个function可能会被使用,而且这个function是绝对不使用,其他人甚至没有人知道它存在! 前两个类别并不重要。
我的Python 2.6程序中有一个名为“_log”的模块级variables,PyLint抱怨: C0103: Invalid name "_log" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$) 读过这个答案,我明白为什么它这样做:它认为variables是一个常量,并应用不变的正则expression式。 不过,我不同意:我认为这是一个变数。 我如何告诉PyLint,所以它不抱怨? PyLint是如何确定它是一个variables还是一个常量 – 是否将所有模块级variables视为常量?