python逆向工程:通过代码生成类图
python逆向工程:通过代码生成类图
大致过程
现在有一个core包,里面有python的代码。
通过core包,生成python的类图,如下:
实施步骤:
1、首先安装graphviz,一个画图工具,地址为:
http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.28.0.msi
或者百度下载中心,下载graphviz
2、pyreverse能方便的生成uml类图,pylint里自带了pyreverse这个工具。使用pip安装pylint
pip install pylint
3、使用,可以参考的命令为,core为存放代码的目录
pyreverse -ASmy -o png -p _002 core/
这样就会在和core同级的目录生成2张png图片。
一张类图,一张包图
参考:
http://blog.csdn.net/u013920085/article/details/53285288
延伸:
1、包图图解:
包图中,实线箭线表示python模块之间的引用关系。
A用实线箭线指向B时,表示A模块中import(导入)了B模块。
python模块可以是一个文件(*.py),也可以是一个包(含有__init__.py的Python包)。
注意:基础模块(os、sys等)不会再包图中显示。
2、类图图解:
类图中,实线空心三角表示继承基类(父类)。
A用实线空心三角指向B时,表示A类继承了B类。(如果改为虚线,则表示继承接口,java中常见)
类图中,实线实菱形表示组合关系,如人体的各个部位,不可分割。(如果改为空菱形,则表示聚合关系,如团队由人员组成,可以分割)
A用实线实菱形指向B时,表示A是属于B的、不可分割的组成部分。此时应在实线上标注出B的什么属性来接收A这个单位,作为B的组成部分。
相关文章
- Python 文件I/O
- python字符串格式化
- 【Python实战】python中含有中文字符无法运行
- Centos 6.4 安装Python 2.7 python-pip
- Python 字符串_python 字符串截取_python 字符串替换_python 字符串连接
- python使用requests通过代理地址发送text/xml报文数据
- Python的IDE:基于Eclipse/MyEclipse软件的PyDev插件配置python的开发环境(不同python项目加载不同版本的python)—从而实现Python编程图文教程之详细攻略
- Python编程语言学习:python语言中快速查询python自带模块&函数的用法及其属性方法、如何查询某个函数&关键词的用法、输出一个类或者实例化对象的所有属性和方法名之详细攻略
- 已解决2.Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and wi
- 〖Python自动化办公篇⑳〗 - python实现邮件自动化 - 发送html邮件和带附件的邮件
- 【Python成长之路】python并发学习:多进程与多线程的用法及场景介绍
- Python实现LDA和SVM支持向量机人脸识别模型(LinearDiscriminantAnalysis和SVC算法)并通过网格搜索算法寻找最优参数值项目实战
- 【华为机试真题 Python实现】字符统计及重排
- python之语音播报
- Python编程:sqlalchemy模块对msyql的增删改查
- python @classmethod
- python 站点爬虫 下载在线盗墓笔记小说到本地的脚本
- 配置mailx 通过465端口发送邮件 /etc/mail.rc python脚本 发送邮件
- Python使用技巧(五):快速解决安装python-lxml模块库报错问题并简单使用
- 【异常】前端ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.
- python工具方法 31 通过导入自定义dll实现显存释放
- 我要偷偷的学Python,然后惊呆所有人(第二天)
- 第10讲:Python列表对象查操作之通过切片获取列表中的元素
- 第9讲:Python列表对象查操作之通过索引获取列表中的元素