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

相关文章

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

python使用库爬取m3u8文件的示例

《python使用库爬取m3u8文件的示例》本文主要介绍了python使用库爬取m3u8文件的示例,可以使用requests、m3u8、ffmpeg等库,实现获取、解析、下载视频片段并合并等步骤,具有... 目录一、准备工作二、获取m3u8文件内容三、解析m3u8文件四、下载视频片段五、合并视频片段六、错误

Python中提取文件名扩展名的多种方法实现

《Python中提取文件名扩展名的多种方法实现》在Python编程中,经常会遇到需要从文件名中提取扩展名的场景,Python提供了多种方法来实现这一功能,不同方法适用于不同的场景和需求,包括os.pa... 目录技术背景实现步骤方法一:使用os.path.splitext方法二:使用pathlib模块方法三

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/