python pydoc-文档生成工具(汇总tcy)

2024-03-20 10:08

本文主要是介绍python pydoc-文档生成工具(汇总tcy),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

pydoc-文档生成工具   2018/9/8

 

------------------------------------------------------------------------------

1.1.用途:

是python自带的一个文档生成工具,使用pydoc可以很方便的查看类和方法结构

python中pydoc模块可以从python代码中获取docstring,然后生成帮助信息。

主要用于从python模块中自动生成文档,这些文档可以基于文本呈现的、也可以生成WEB 页面的,还可以在服务器上以浏览器的方式呈现!

 pydoc  -  Python文档工具

-------------------------------------------------------------------------------

1.2.方法:

pydoc <name> ...

显示关于某事的文本文档。 <name>可以是a的名称 Python关键字,主题,功能,模块或包,或点缀引用模块或模块中的类或函数包。

如果<name>包含'\\',则将其用作a的路径 Python源文件到文档。如果名称是'关键字','主题',或“模块”,显示这些内容的列表。

 

pydoc -k <keyword>

    在所有可用模块的概要行中搜索关键字。

 

pydoc -n <hostname>

    使用给定的主机名启动HTTP服务器(默认值:localhost)。

 

pydoc -p <port>

    在本地计算机上的给定端口上启动HTTP服务器。港口

    数字0可用于获取任意未使用的端口。

 

pydoc -b

    在任意未使用的端口上启动HTTP服务器并打开Web浏览器

    以交互方式浏览文档。此选项可用于与-n和/或-p组合。

 

pydoc -w <name> ...

将模块的HTML文档写入当前文件目录。如果<name>包含'\\',则将其视为文件名;

如果它命名一个目录,为所有内容编写文档。

 ------------------------------------------------------------------------------

2.查看文档方法

  2.1.启用服务器查看

方法1:启动本地服务,在web上查看文档

C:\Users\Administrator>python -m pydoc -p 1234

 

Server ready at http://localhost:1234/

Server commands: [b]rowser, [q]uit

server>

方法2:通过http://localhost:1234来访问查看文档

 

说明:

1、-p指定启动服务的端口号,可以随意指定不冲突端口号

2、只有在自建的工程根目录下使用该命令,才能看到当前工程下所有的内容,否则只能看到python环境变量下的模块内容

3、如果本地只有一个python,可以直接使用【pydoc -p 端口号】启动,但因为我本地有python2和python3,所以指定了用python3

-------------------------------------------------------------------------------

2.2.直接查看*.py文件内容

步骤1:新建文件c:\python37\lib\test_pydoc.py

        见下文:实例代码

步骤2:进入testpydoc.py所在目录

C:\Users\Administrator>cd c:\python37\lib

步骤3:运行

C:\python37\lib\>python -m pydoc test_pydoc

步骤4:显示

        见下文:显示”直接查看test_pydoc.py文件内容 ”

c:\python37\Lib>

-------------------------------------------------------------------------------

2.3.生成html说明文档

运行:

c:\python37\Lib>python -m pydoc -w test_pydoc

显示:

wrote test_pydoc.html

说明:在c:\python37\Lib\test_pydoc.html文档已经生成;和上面的查看内容相同;

默认将当前目录下的testpydoc生成一个叫做testpydoc.html的文档,如果是目录直接【python3 -m pydoc -w 目录名】生成文档

 

如果是将整个目录生成这种格式,不建议用这种方式,因为如果他展示目录下的子文件的说明时,会去子目录下找对应.html文件,如果文件不存在,就会404

-------------------------------------------------------------------------------

2.4.-k查找模块

用途:

py通过-k查找模块,会在当前工程目录以及python环境变量目录下查找包含关键词的模块信息  

命令:

c:\python37\Lib>python -m pydoc -k test_pydoc

显示:

test.pydoc_mod - This is a test module for test_pydoc

test.test_pydoc

test_pydoc - @filename: c:\python\lib\ test_pydoc.py

-------------------------------------------------------------------------------

3.1.html文档说明

通过查看文档的方法,我们可以看到在html的文档主要分成四部分:py文件的顶部注释、Classes、Functions、Data

 

第一部分:模块的文档说明,展示模块顶部的多行注释

注释内如果包含了模块文件内的class名,或方法名(),则显示蓝色,且可以点击跳转到对应说明位置

第二部分:classes,展示class以及class下的function

1.只能展示class下的注释,不会展示class下方法的注释

2.class上面有#注释时,展示#号的注释

3.class下有”””多行注释”””时优先展示多行注释,就不展示顶部的#号的注释了

第三部分:function,模块下的def方法,不是class中的方法

1.function上面有#注释时,展示#号的注释

2.function下有”””多行注释”””时优先展示多行注释,不展示顶部#号的注释了

第四部分:data,模块下直接定义的变量,不是function或class的变量

------------------------------------------------------------------------------

3.2.注释方法

python注释方法:

单行注释:使用#号进行注释

多行注释:使用三个双引号或单引号来注释多行内容

 

pydoc注释展示策略:

在functions和classes前面加#注释,或者在function和class第一行内加三个单引号或三个双引号进行注释

如果有三个引号的注释方法,会优先使用三个点的注释,其次才展示#号的注释

 

注意:如果在方法或class定义后第一行使用#注释是拉取不到注释的

 

----------------------------------------------------------------------------

4.1.示例代码:

"""
@filename: c:\python\lib\ test_pydoc.py
@author     tcy1
@desc       本模块是一个测试文件说明pydoc读取内容
@date        2018/9/13
说明:
    classes:  MyClass()
    Method:  class_fun1();class_fun2();class_fun3()
    function:  tun1(),fun2(),fun3()
    Data:a,b , c1, g1
"""
#filename: c:\python\lib\ test_pydoc.py
#模块开头单行注释和多行注释只能选一个最上面的显示

__author__ = "tcy"

#fun1()上的注释:注释放在方法名前用'#'号注释
def fun1(a):
    a=
100
   
print("注释放在方法名前",a)

#fun2()上的注释:由于下面有多行注释,本行不会被显示
def fun2():
   
"""
    fun2()多行注释;优先显示;
    """
    print("既有'#'号又有多行注释时,优先展示多行注释 ")

def fun3():
   
#在方法第一行内使用'#'注释不生效
    print("在方法内使用#号注释,不生效")

#Myclass 类上注释,由于有多行注释,本行不会显示
class MyClass():
   
"""
    1.注释生效顺序与方法一致,优先展示类下的多行注释
    2.如没多行注释,显示类上面的 ‘#’ 号注释
   
    """
    g1=200#变量注释不会显示
   
    def __init__(self,x,y):
       
self.x=x             #变量注释不会显示
        self.y=y            #变量注释不会显示

    #class_fun1 ()单行注释不显示
    def class_fun1(self):#类下方法的注释不会展示
        """ class_fun1 ()多行注释"""
        print("类下的第一个方法")

   
# class_fun12()单行注释
    def class_fun2(self,a):
       
print("类下的第二个参数,包含a参数")

   
def class_fun3(self):
       
print("类方法无注释")

a=
1                   #变量注释不会显示
b=2                   #变量注释不会显示
c1=MyClass(1000,-2000)  #变量注释不会显示

-------------------------------------------------------------------------------

4.2.显示”直接查看test_pydoc.py文件内容 ”

 

c:\python37\Lib>python -m pydoc test_pydoc

Help on module test_pydoc:

 

NAME

    test_pydoc

 

DESCRIPTION

    @filename: c:\python\lib\ test_pydoc.py

    @author     tcy1

    @desc       本模块是一个测试文件说明pydoc读取内容

    @date        2018/9/13

    说明:

        classes:  MyClass()

        Method:  class_fun1();class_fun2();class_fun3()

        function:  tun1(),fun2(),fun3()

        Data:a,b , c1, g1

 

CLASSES

    builtins.object

        MyClass

 

    class MyClass(builtins.object)

     |  MyClass(x, y)

     |

     |  1.注释生效顺序与方法一致,优先展示类下的多行注释

     |  2.如没多行注释,显示类上面的 ‘#’ 号注释

     |

     |  Methods defined here:

     |

     |  __init__(self, x, y)

     |      Initialize self.  See help(type(self)) for accurate signature.

     |

     |  class_fun1(self)

     |      class_fun1 ()多行注释

     |

     |  class_fun2(self, a)

     |      # class_fun12()单行注释

     |

     |  class_fun3(self)

     |

     |  ----------------------------------------------------------------------

     |  Data descriptors defined here:

     |

     |  __dict__

     |      dictionary for instance variables (if defined)

     |

     |  __weakref__

     |      list of weak references to the object (if defined)

     |

     |  ----------------------------------------------------------------------

     |  Data and other attributes defined here:

     |

     |  g1 = 200

 

FUNCTIONS

    fun1(a)

        #fun1()上的注释:注释放在方法名前用'#'号注释

 

    fun2()

        fun2()多行注释;优先显示;

 

    fun3()

 

DATA

    a = 1

    b = 2

    c1 = <test_pydoc.MyClass object>

 

AUTHOR

    tcy

 

FILE

    c:\python37\lib\test_pydoc.py

 

-------------------------------------------------------------------------------

 

这篇关于python pydoc-文档生成工具(汇总tcy)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/829113

相关文章

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

Python创建Excel的4种方式小结

《Python创建Excel的4种方式小结》这篇文章主要为大家详细介绍了Python中创建Excel的4种常见方式,文中的示例代码简洁易懂,具有一定的参考价值,感兴趣的小伙伴可以学习一下... 目录库的安装代码1——pandas代码2——openpyxl代码3——xlsxwriterwww.cppcns.c

Python中Markdown库的使用示例详解

《Python中Markdown库的使用示例详解》Markdown库是一个用于处理Markdown文本的Python工具,这篇文章主要为大家详细介绍了Markdown库的具体使用,感兴趣的... 目录一、背景二、什么是 Markdown 库三、如何安装这个库四、库函数使用方法1. markdown.mark

一分钟带你上手Python调用DeepSeek的API

《一分钟带你上手Python调用DeepSeek的API》最近DeepSeek非常火,作为一枚对前言技术非常关注的程序员来说,自然都想对接DeepSeek的API来体验一把,下面小编就来为大家介绍一下... 目录前言免费体验API-Key申请首次调用API基本概念最小单元推理模型智能体自定义界面总结前言最