pylint、pyreverse

news2024/12/27 13:57:50

文章目录

    • pylint
    • pyreverse


在这里插入图片描述


pylint

  • github : https://github.com/pylint-dev/pylint
  • 官网:https://www.pylint.org
  • 文档:https://pylint.readthedocs.io/en/latest/

Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的语法错误,是否遵守编码风格标准、潜在的问题等

相关教程可见:
https://zhuanlan.zhihu.com/p/364594654


pip install pylint

pylint 有两个附加工具

  • pyreverse 生成包和类图
    https://pylint.readthedocs.io/en/latest/pyreverse.html
  • symilar 代码查重
    https://pylint.readthedocs.io/en/latest/symilar.html

pyreverse

支持生成到 .dot/.gv, .puml/.plantuml (PlantUML) and .mmd/.html (MermaidJS) 文件格式

如果安装了 Graphviz,也可以使用所有 Graphviz 支持的格式。
graphviz 安装使用:https://blog.csdn.net/lovechris00/article/details/113597376


输出示例

在这里插入图片描述


简单使用

参考教程:https://zhuanlan.zhihu.com/p/365953969



文件夹下生成了一个 classes.dot 文件


生成类图

dot -Tpdf classes.dot -o classes.pdf

只生成类名,不显示类属性和方法:-k

pyreverse -ASmy -k -o pdf .

忽略文件或文件夹,, 分隔,只用输入名称,不用输入路径。

pyreverse -ASmy -k --ignore feeds,indicators,filters -o pdf .

对指定的类,找到所有与他相关的类,并生成图表,但对复杂的类效果一般。

pyreverse -ASmy -k -c backtrader.cerebro.Cerebro -o pdf .

生成彩色的: --colorized

pyreverse  -ASmy -k --colorized -o png .

设定相关类的层次,即如在子文件夹中,是否到上一次文件夹去搜索相关类。

pyreverse  -ASmy -s 2 -k -o png .


查看所有可用选项

pyreverse -h

Create UML diagrams for classes and modules in <packages>.

optional arguments:

  • -h, --help
    show this help message and exit

Pyreverse:
Base class providing common behaviour for pyreverse commands.

  • --filter-mode <mode>, -f <mode>
    filter attributes and functions according to <mode>. Correct modes are : ‘PUB_ONLY’ filter all non public attributes [DEFAULT], equivalent to PRIVATE+SPECIAL_A ‘ALL’ no filter ‘SPECIAL’ filter Python special functions except constructor ‘OTHER’ filter protected and private attributes (default: PUB_ONLY)
  • --class <class>, -c <class>
    create a class diagram with all classes related to <class>; this uses by default the options -ASmy (default: [])
  • --show-ancestors <ancestor>, -a <ancestor>
    show <ancestor> generations of ancestor classes not in <projects> (default: None)
  • --all-ancestors, -A
    show all ancestors off all classes in <projects> (default: None)
  • --show-associated <association_level>, -s <association_level>
    show <association_level> levels of associated classes not in <projects> (default: None)
  • --all-associated, -S
    show recursively all associated off all associated classes (default: None)
  • --show-builtin, -b
    include builtin objects in representation of classes (default: False)
  • --show-stdlib, -L
    include standard library objects in representation of classes (default: False)
  • --module-names <y or n>, -m <y or n>
    include module name in representation of classes (default: None)
  • --only-classnames, -k
    don’t show attributes and methods in the class boxes; this disables -f values (default: False)
  • --no-standalone
    only show nodes with connections (default: False)
  • --output <format>, -o <format>
    create a *. output file if format is available. Available formats are: dot, puml, plantuml, mmd, html. Any other format will be tried to create by means of the ‘dot’ command line tool, which requires a graphviz installation. (default: dot)
  • --colorized
    Use colored output. Classes/modules of the same package get the same color. (default: False)
  • --max-color-depth <depth>
    Use separate colors up to package depth of <depth> (default: 2)
  • --color-palette <color1,color2,...>
    Comma separated list of colors to use (default: (‘#77AADD’, ‘#99DDFF’, ‘#44BB99’, ‘#BBCC33’, ‘#AAAA00’, ‘#EEDD88’, ‘#EE8866’, ‘#FFAABB’, ‘#DDDDDD’))
  • --ignore <file[,file...]>
    Files or directories to be skipped. They should be base names, not paths. (default: (‘CVS’,))
  • --project <project name>, -p <project name>
    set the project name. (default: )
  • --output-directory <output_directory>, -d <output_directory>
    set the output directory path. (default: )
  • --source-roots <path>[,<path>...]
    Add paths to the list of the source roots. Supports globbing patterns. The source root is an absolute path or a path relative to the current working directory used to determine a package namespace for modules located under the source root. (default: ())
  • --verbose
    Makes pyreverse more verbose/talkative. Mostly useful for debugging. (default: False)

参考:

  • Python类关系绘图Pyreverse全参数帮助中文版
    https://zhuanlan.zhihu.com/p/649110516

伊织 2024-02-21

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1461684.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【代码随想录python笔记整理】第十二课 · 位置互换

前言:本笔记仅仅只是对内容的整理和自行消化,并不是完整内容,如有侵权,联系立删。 一、变量交换的实现 这节我们讨论一个简单的问题——怎么交换两个变量的值。比如说,一个瓶子里是水,一个瓶子里是油,想要将两个瓶子中的东西互换,我们应该怎么做呢?要实现上述过程,我们…

leetcode hot100 完全平方数

本题中&#xff0c;是给一个整数n&#xff0c;让用完全平方数凑出这个整数&#xff0c;注意&#xff0c;题中给了n的范围&#xff0c;是大于等于1的&#xff0c;也就是说&#xff0c;dp[0]我们可以先不考虑。 整个问题可以抽象成完全背包问题的变形形式&#xff0c;物品就是这…

免费听歌软件,音乐搜索APP:掌中的音乐宝库,为您的音乐生活增添色彩

引言 在数字音乐的浪潮中&#xff0c;我们通常会想到QQ音乐、虾米、网易云音乐等主流平台APP。然而&#xff0c;这些商业软件在为用户提供服务的同时&#xff0c;也不可避免地伴随着一些限制和不尽如人意的地方&#xff0c;如曲库有限、音质不尽如人意或广告干扰或会员才能听歌…

TypeScript中的keyof、typeof、in

概览 TypeScript中的keyof、typeof、in在我们日常工作中经常用到&#xff0c;但也容易遗忘&#xff0c;现详细梳理其用法及使用场景 一. 抛出问题 const getFormatData (initData) > { const data [];// 部分字段取值需保留小数点后两位const formatKeys [priceUntax…

频段划分学习射频知识的意义

一、射频电路设计与低频电路设计的不同点 随着频率提高&#xff0c;相应电磁波的波长与变得可与分立电路元件的尺寸相比拟时&#xff0c;电阻、电容和电感这些元件的电响应&#xff0c;将偏离他们的理想频率特性。以 WIFI 2.4G 频段为例&#xff0c;当频率为 2437MHz&#xff0…

年收入 100 万,不敢生孩子

原文连接&#xff1a; 年收入 100 万&#xff0c;不敢生孩子 今日热帖&#xff0c;有网友发帖称&#xff1a;互联网大头兵夫妇&#xff0c;两个人都 30 了&#xff0c;老公 xhs 后端年包 80&#xff0c;我私企年薪 20 左右&#xff0c;老家三线城市有房。 本来今年要孩子了&am…

花了钱的ChatGPT4.0在绘画方面的能力如何?Sora也能work吗

花了钱的ChatGPT4.0在绘画方面的能力如何&#xff1f;Sora也能work吗 关注微信公众号 DeepGoAI 计算机杂谈及深度学习记录&分享 众所周知 AI绘图是4.0收费的一大卖点 网上也有许多反复训练ChatGPT的段子视频 让人工智能无语 网友直呼 “未来人工智能统治世界了&…

016—pandas 分析近100年圣诞节日期分布

需求&#xff1a; 利用Pandas 分析近100年圣诞节的星期分布&#xff0c;目的是知道圣诞节都在星期几&#xff0c;哪个星期多些。 思路&#xff1a; 用 pd.date_range 生成 100 年日期数据 筛选出12月25日的所有日期 将日期转换为星期几 统计重复值的数量 绘图 二、…

【JAVA高级面试题】运用锁机制实现一个自定义的阻塞队列

文章目录 前言实战演示写在最后 前言 前几天看见一个高级Java面试题&#xff0c;我觉得很有代表意义。既考察了面试者的基本锁机制运用&#xff0c;也了解了阻塞队列的产生实现原理。先分享出来&#xff0c;以供鉴赏。 面试题&#xff1a;实现一个自定义的阻塞队列&#xff0c…

【C++语法基础】4.分支和循环结构(✨新手推荐阅读)

前言 在C编程中&#xff0c;分支和循环结构是控制程序流程的基本工具。分支结构允许程序根据特定条件执行不同的代码块&#xff0c;而循环结构则允许程序重复执行某个代码块。 分支结构 if 语句 if 语句是最基本的分支结构&#xff0c;它根据条件的真假来决定是否执行某段代…

Linux实验记录:使用LNMP架构部署动态网站环境

前言&#xff1a; 本文是一篇关于Linux系统初学者的实验记录。 参考书籍&#xff1a;《Linux就该这么学》 实验环境&#xff1a; VmwareWorkStation 17——虚拟机软件 RedHatEnterpriseLinux[RHEL]8——红帽操作系统 备注&#xff1a; LNMP动态网站部署架构是一套由&…

Linux 性能分析工具汇总

Linux 性能分析工具汇总 出于对Linux操作系统的兴趣&#xff0c;以及对底层知识的强烈欲望&#xff0c;因此整理了这篇文章。本文也可以作为检验基础知识的指标&#xff0c;另外文章涵盖了一个系统的方方面面。如果没有完善的计算机系统知识&#xff0c;网络知识和操作系统知识…

(done) 两个矩阵 “相似” 是什么意思?

参考视频&#xff1a;https://www.bilibili.com/video/BV1zu411673J/?spm_id_from333.337.search-card.all.click&vd_source7a1a0bc74158c6993c7355c5490fc600 参考资料&#xff1a;https://baike.baidu.com/item/%E7%9B%B8%E4%BC%BC%E7%9F%A9%E9%98%B5/10369874?frge_a…

离线环境解决IDEA连接数据库报需下载驱动的问题 Download missing driverfiles

去外网电脑上把这个目录下的MySQL ConnectorJ文件夹整体拷贝的内网电脑上就ok了&#xff01; C:\Users\like12\AppData\Roaming\JetBrains\IntelliJIdea2021.2\jdbc-drivers 参考&#xff1a;IDEA Download missing driver files 下载失败解决方法-CSDN博客

开发一款招聘小程序需要具备哪些功能?

随着时代的发展&#xff0c;找工作的方式也在不断变得简单&#xff0c;去劳务市场、人才市场的方式早就已经过时了&#xff0c;现在大多数年轻人都是直接通过手机来找工作。图片 找工作类的平台不但能扩大企业的招聘渠道&#xff0c;还能节省招聘的成本&#xff0c;方便求职者进…

7. Qt添加滑动条

前言&#xff1a; 添加一个这样的滑条&#xff0c;双方关联自动修改,也提供代码创建方式 技能&#xff1a; QSpinBox QSlider 方式一 Qt 的图形化编程&#xff08;用ui文件&#xff0c;非常简单&#xff09; 1.Spin Box 首先找到显示数字的这个部分。是input widget->sp…

useGeneratedKeys=“true” keyProperty=“id”

useGeneratedKeys“true” keyProperty“id” 这个注解在xml文件的insert方法中&#xff0c;可以用于返回主键值&#xff1b; 并且useGeneratedKeys参数只针对 insert 语句生效&#xff0c;默认为 false&#xff1b;

【刷题记录】最大公因数,最小公倍数(辗转相除法、欧几里得算法)

本系列博客为个人刷题思路分享&#xff0c;有需要借鉴即可。 1.题目链接&#xff1a; 无 2.详解思路&#xff1a; 题目描述&#xff1a;输入两个正整数&#xff0c;输出其最大公因数和最小公倍数 一般方法&#xff1a;最大公因数&#xff1a;穷加法&#xff1b;最小公倍数&…

小迪安全29WEB 攻防-通用漏洞SQL 注入增删改查盲注延时布尔报错

#知识点&#xff1a; 1、明确查询方式注入 Payload 2、明确查询方式注入产生功能 3、明确 SQL 盲注延时&布尔&报错 #详细点&#xff1a; 盲注就是在注入过程中&#xff0c;获取的数据不能回显至前端页面。 也就是在代码中无echo将sql结果输出出来 此时&#…

Android---Jetpack Compose学习004

CompositionLocal 通常情况下&#xff0c;在 Compose 中&#xff0c;数据以参数形式向下流经整个界面树传递给每个可组合函数。但是&#xff0c;对于广泛使用的常用数据&#xff08;如颜色或类型样式&#xff09;&#xff0c;这可能会很麻烦。 为了支持无需将颜色作为显式参数…