WEB开发网
开发学院软件开发Python 如何使用 Pylint 来规范 Python 代码风格 阅读

如何使用 Pylint 来规范 Python 代码风格

 2009-12-18 00:00:00 来源:WEB开发网   
核心提示: 清单 10. 运行结果*ModuledwC0103:7:Invalidname"xmlDom"(shouldmatch(([A-Z_][A-Z0-9_]*)|(__.*__))$)C0103:8:Invalidname"organizations"(sho


清单 10. 运行结果
 ************* Module dw 
 C0103: 7: Invalid name "xmlDom" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$) 
 C0103: 8: Invalid name "organizations" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$) 

5. 可以看到现在问题只剩下 C0103 了。这里的意思是变量命名规则应该符合后面正则表达式的规定。Pylint 定义了一系列针对变量,函数,类等的名字的命名规则。实际中我们不一定要使用这样的命名规则,我们可以定义使用正则表达式定义自己的命名规则,比如使用选项 --const-rgx='[a-z_][a-z0-9_]{2,30}$',我们将变量 xmlDom改为 xmldom, 代码如下:


清单 11. 将变量 xmlDom 改为 xmldom 后的源码
 #!/usr/bin/env python 
 
"""This script parse the content of a xml file""" 
 
 import xml.dom.minidom 
 
 xmldom = xml.dom.minidom.parse("identity.xml") 
 organizations = xmldom.getElementsByTagName('DW') 
 for org in organizations: 
  products = org.getElementsByTagName('linux') 
  for product in products: 
    print 'ID: ' + product.getAttribute('id') 
    print 'Name: ' + product.getAttribute('name') 
    print 'Word Count: ' + product.getAttribute('count') 

运行 pylint --reports=n --include-ids=y --const-rgx='[a-z_][a-z0-9_]{2,30}$' dw.py,结果中就没有任何问题了。

6. 如果希望一个组里的人都使用这些统一的规则,来规范一个部门的代码风格。比如说大家都使用 --const-rgx='[a-z_][a-z0-9_]{2,30}$'作为命名规则,那么一个比较便捷的方法是使用配置文件。

使用 pylint --generate-rcfile > pylint.conf来生成一个示例配置文件,然后编辑其中的 --const-rgx选项。或者也可以直接 pylint --const-rgx='[a-z_][a-z0-9_]{2,30}$' --generate-rcfile > pylint.conf,这样生成的配置文件中 --const-rgx选项直接就是 '[a-z_][a-z0-9_]{2,30}$'了。

以后运行 Pylint 的时候指定配置文件:pylint --rcfile=pylint.conf dw.py

这样 Pylint 就会按照配置文件 pylint.conf中的选项来指定参数。在一个部门中,大家可以共同使用同一个配置文件,这样就可以保持一致的代码风格。

7. 如果把 report 部分加上,即不使用 --reports=n,可以看到报告部分的内容。

结束语

本文通过详细的理论介绍和简单易懂的实例全面介绍了 Python 代码分析工具 Pylint。相信读者看完后一定可以轻松地将 Pylint 运用到自己的开发工程中。

上一页  3 4 5 6 7 8 

Tags:如何 使用 Pylint

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接