当前位置: 首页 > news >正文

东莞网站推广大全如何做好网站建设内容的策划书

东莞网站推广大全,如何做好网站建设内容的策划书,wordpress4.9免登陆发布接口,做流程图用什么网站Pylint 是什么 Pylint 是一个 Python 代码分析工具#xff0c;它分析 Python 代码中的错误#xff0c;查找不符合代码风格标准#xff08;Pylint 默认使用的代码风格是 PEP 8#xff0c;具体信息#xff0c;请参阅参考资料#xff09;和有潜在问题的代码。目前 Pylint 的… Pylint 是什么 Pylint 是一个 Python 代码分析工具它分析 Python 代码中的错误查找不符合代码风格标准Pylint 默认使用的代码风格是 PEP 8具体信息请参阅参考资料和有潜在问题的代码。目前 Pylint 的最新版本是 pylint-0.18.1。 Pylint 是一个 Python 工具除了平常代码分析工具的作用之外它提供了更多的功能如检查一行代码的长度变量名是否符合命名标准一个声明过的接口是否被真正实现等等。 Pylint 的一个很大的好处是它的高可配置性高可定制性并且可以很容易写小插件来添加功能。 如果运行两次 Pylint它会同时显示出当前和上次的运行结果从而可以看出代码质量是否得到了改进。 目前在 eclipse 的 pydev 插件中也集成了 Pylint。 Pylint 具体介绍 Pylint 的安装 Pylint 可以用于所有高于或者等于 2.2 的 Python 版本兼容。需要 logilab-astngversion 0.14和 logilab-commonversion 0.13的包具体信息请参阅 参考资料如果是 Python 版本低于 2.3那么它还需要 optik 包本文接下来的示例暂不考虑这种情况。 Pylint 所用到的所有的包的下载地址 logilab-astng 的最新包下载http://www.logilab.org/856/ logilab-common 的最新包下载http://www.logilab.org/848/ optik 的包下载http://optik.sourceforge.net/ Pylint 的最新包下载http://www.logilab.org/project/pylint Pylint 在 Linux 上的安装 1. 在 Linux 上首先安装 Python 的包高于版本 2.2并在环境变量 $PATH 中添加 Python 可执行文件的路径。 2. 下载 Pylint、logilab-astng (version 0.14) 和 logilab-common (version 0.13) 的包 , 使用 tar zxvf *.tar.gz解压缩这些包。 3. 依次进入 logilab-astng、logilab-common 和 Pylint 解开的文件夹中运行命令 Python setup.py install来安装。 4. 安装完成后就可以通过 pylint [options] module_or_package来调用 Pylint 了。 Pylint 在 Windows 上的安装 1. 安装 Python 的包高于版本 2.2右键单击桌面上的我的电脑图标选择属性高级环境变量在 $PATH 中添加 Python 的安装路径如 C:\Python26\。 2. 使用解压缩工具解压缩所有的包。 3. 打开命令行窗口使用 cd依次进入 logilab-astng、logilab-common 和 Pylint 解开的文件夹中运行命令 python setup.py install来安装。 4. 安装完成后在 Python 的安装路径下出现一个 Scripts 文件夹里面包含一些 bat 脚本如 pylint.bat 等。 5. 为了使调用 pylint.bat 的时候不需要输入完整路径在 Python 的安装目录下创建 pylint.bat 的重定向文件这是一个纯文本文件 pylint.bat里面包含 pylint.bat 的实际路径如C:\Python26\Scripts\pylint.bat。 6. 安装完成后可以通过 pylint [options] module_or_package来调用 Pylint 了。 Pylint 的调用 清单 1. Pylint 的调用命令 1 pylint [options] module_or_package 使用 Pylint 对一个模块 module.py 进行代码检查 1. 进入这个模块所在的文件夹运行 pylint [options] module.py 这种调用方式是一直可以工作的因为当前的工作目录会被自动加入 Python 的路径中。 2. 不进入模块所在的文件夹运行 pylint [options] directory/module.py 这种调用方式当如下条件满足的时候是可以工作的directory 是个 Python 包 ( 比如包含一个 __init__.py 文件 )或者 directory 被加入了 Python 的路径中。 使用 Pylint 对一个包 pakage 进行代码检查 1. 进入这个包所在文件夹运行 pylint [options] pakage。 这种调用方式是一直可以工作的因为当前的工作目录会被自动加入 Python 的路径中。 2. 不进入包所在的文件夹运行 pylint [options] directory/ pakage。 这种情况下当如下条件满足的时候是可以工作的directory 被加入了 Python 的路径中。比如在 Linux 上export PYTHONPATH$PYTHONPATH: directory。 此外对于安装了 tkinter 包的机器可以使用命令 pylint-gui打开一个简单的 GUI 界面在这里输入模块或者包的名字 ( 规则同命令行 ), 点击 RunPylint 的输出会在 GUI 中显示。 Pylint 的常用命令行参数 -h,--help 显示所有帮助信息。 --generate-rcfile 可以使用 pylint --generate-rcfile 来生成一个配置文件示例。可以使用重定向把这个配置文件保存下来用做以后使用。也可以在前面加上其它选项使这些选项的值被包含在这个产生的配置文件里。如pylint --persistentn --generate-rcfile pylint.conf查看 pylint.conf可以看到 persistentno而不再是其默认值 yes。 --rcfilefile 指定一个配置文件。把使用的配置放在配置文件中这样不仅规范了自己代码也可以方便地和别人共享这些规范。 -i y_or_n, --include-idsy_or_n 在输出中包含 message 的 id, 然后通过 pylint --help-msgmsg-id来查看这个错误的详细信息这样可以具体地定位错误。 -r y_or_n, --reportsy_or_n 默认是 y, 表示 Pylint 的输出中除了包含源代码分析部分也包含报告部分。 --files-outputy_or_n 将每个 module /package 的 message 输出到一个以 pylint_module/package. [txt|html] 命名的文件中如果有 report 的话输出到名为 pylint_global.[txt|html] 的文件中。默认是输出到屏幕上不输出到文件里。 -f format, --output-formatformat 设置输出格式。可以选择的格式有 text, parseable, colorized, msvs (visual studio) 和 html, 默认的输出格式是 text。 --disable-msgmsg ids 禁止指定 id 的 message. 比如说输出中包含了 W0402 这个 warning 的 message, 如果不希望它在输出中出现可以使用 --disable-msg W0402 Pylint 的输出 Pylint的默认输出格式是原始文本raw text格式 可以通过 -f format--output-formatformat 来指定别的输出格式如html等等。在Pylint的输出中有如下两个部分源代码分析部分和报告部分。 源代码分析部分 对于每一个 Python 模块Pylint 的结果中首先显示一些*字符 , 后面紧跟模块的名字然后是一系列的 message, message 的格式如下 1 MESSAGE_TYPE: LINE_NUM:[OBJECT:] MESSAGE MESSAGE_TYPE 有如下几种 (C) 惯例。违反了编码风格标准 (R) 重构。写得非常糟糕的代码。 (W) 警告。某些 Python 特定的问题。 (E) 错误。很可能是代码中的错误。 (F) 致命错误。阻止 Pylint 进一步运行的错误。 清单 2. Pylint 中的 utils 模块的输出结果 1 2 3 4 5 6 ************* Module utils C: 88:Message: Missing docstring R: 88:Message: Too few public methods (0/2) C:183:MessagesHandlerMixIn._cat_ids: Missing docstring R:183:MessagesHandlerMixIn._cat_ids: Method could be a function R:282:MessagesHandlerMixIn.list_messages: Too many branches (14/12) 报告部分 在源代码分析结束后面会有一系列的报告每个报告关注于项目的某些方面如每种类别的 message 的数目模块的依赖关系等等。具体来说报告中会包含如下的方面 检查的 module 的个数。 对于每个 module, 错误和警告在其中所占的百分比。比如有两个 module A 和 B, 如果一共检查出来 4 个错误1 个错误是在 A 中3 个错误是在 B 中那么 A 的错误的百分比是 25%, B 的错误的百分比是 75%。 错误警告的总数量。 使用 Pylint 分析 Python 代码的具体示例 下面是一个从 xml 文件中读取一些值并显示出来的一段 Python 代码 dw.py代码如下 清单 3. 源码 1 2 3 4 5 6 7 8 9 10 11 12 13 import string  #!/usr/bin/env python  import xml.dom.minidom  xmlDomxml.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) 清单 4. identity.xml 的内容 1 2 3 4 5 IBM        DW                linux id100 namepython count3000 /        /DW /IBM 这时候使用 Pylint 的结果这是从 html 格式的输出中拷贝的为 清单 5. Pylint 的分析结果 1 2 3 4 5 6 7 ************* Module dw C:1:Missing docstring C:5:Operator not preceded by a space xmlDomxml.dom.minidom.parse(identity.xml) ^ C:5:Invalid name xmlDom (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$) C:6:Invalid name organizations (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$) Report 部分省略 输出中第一部分是源代码分析第二部分是报告。输出结果中有这么多信息从哪里开始分析呢首先使用如下的步骤来分析代码 1. 因为输出结果太长所以可以先不让它输出报告部分先根据源代码分析部分来找出代码中的问题。使用选项 --reportsn。 2. 使用选项 --include-idsy。可以获取到源代码分析部分每条信息的 ID。 清单 6. 使用 pylint --reportsn --include-idsy dw.py 的结果 1 2 3 4 5 ************* Module dw C0111: 1: Missing docstring C0322: 5: Operator not preceded by a space xmlDomxml.dom.minidom.parse(identity.xml) ^ C0103: 5: Invalid name xmlDom (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$) C0103: 6: Invalid name organizations (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$) 每个信息前面都会加上一个 id, 如果不理解这个信息的意思可以通过 pylint --help-msgid来查看。 清单 7. 使用 pylint --help-msg C0111 的结果 1 2 3 4 C0111: *Missing docstring*  Used when a module, function, class or method has no docstring. Some special methods like __init__ doesnt necessary require a docstring. This message belongs to the basic checker. 3. 开始分析每个源代码中的问题。从上面知道第一个问题的原因是缺少 docstring在代码中增加 docstring, 修改后的代码如下 清单 8. 增加 docstring 修改后的源码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #!/usr/bin/env python This script parse the content of a xml file  import xml.dom.minidom  xmlDomxml.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 --reportsn --include-idsy dw.py结果为 清单 9. 运行结果 1 2 3 4 5 6 ************* Module dw C0322:  7: Operator not preceded by a space xmlDomxml.dom.minidom.parse(identity.xml)      ^ C0103:  7: Invalid name xmlDom (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$) C0103:  8: Invalid name organizations (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$) 可以看到源代码中的第一个问题已被解决。 4. 关于第二个 C0322 的问题这里的分析结果说明得比较清楚是代码第七行中的等号运算符两边没有空格。我们在这里加上空格重新运行 pylint --reportsn --include-idsy dw.py结果为 清单 10. 运行结果 1 2 3 ************* 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 后的源码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #!/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 --reportsn --include-idsy --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 --rcfilepylint.conf dw.py 这样 Pylint 就会按照配置文件 pylint.conf中的选项来指定参数。在一个部门中大家可以共同使用同一个配置文件这样就可以保持一致的代码风格。 7. 如果把 report 部分加上即不使用 --reportsn可以看到报告部分的内容。
http://www.sadfv.cn/news/46935/

相关文章:

  • 哪个网站能学做微商中装建设股票
  • 好的装修网站网站建设属于哪个行业分类
  • 聚美联盟网站怎么做商城系统源码开发软件
  • 做网站公司郑州郑州的网站建设公司找网站设计公司
  • 云南SEO网站建设网络商城的推广方法
  • 汽车网站建设流程怎么查看网站后台地址
  • 可视化导航网站源码做动画相册在哪个网站好
  • 网站后台内容更换怎么做商务通代码是不是只要放在网站根目录下就可以了
  • 无需登录网页小游戏网站麻将网站开发
  • wordpress集成微博登陆卢镇seo网站优化排名
  • 博客网站需求分析陕西省建设总工会网站
  • 佛山网页建站模板个人帮忙做网站吗
  • 中山网站制作网页网站建设定位分析论文
  • 做网站设计工作的报告书百度云搜索引擎 百度网盘
  • 小程序开发哪家好排行榜一流的镇江网站优化
  • wordpress 流量监控百度问答优化
  • 陕西网站建设费用个人站长还有什么类型的网站可以做
  • 徐州做网站公司哪家好做网站复杂吗
  • 做菠菜网站代理犯法吗比分网站怎么做
  • 城固城乡建设规划网站邢台网站建设的地方
  • html个人网站软件开发的职业规划1000
  • 网站 域名 授权服务器 分布式wordpress varinsh
  • 网站自定义错误页面模板商业广告公司排名
  • 山东济南网站制作优化共享充电宝开发
  • 同一个服务器的网站做友情链接手机网址大全哪个好
  • 潍坊网站seo外包wordpress导入xml失败
  • 成都市城乡建设管理局网站规划一个电子商务网站
  • 自己做图片上传网站个人网页成品
  • 北京开网站建设公司一分钟赚50元的游戏
  • 网站建设公司不挣钱的原因外贸平台app下载