python pydoc生成API文檔的實現(xiàn)
pydoc是python內(nèi)置的一個文檔生成模塊。
pydoc 模塊會根據(jù) Python 模塊來自動生成文檔。 生成的文檔可在控制臺中顯示為文本頁面,提供給 Web 瀏覽器訪問或者保存為 HTML 文件。
對于模塊、類、函數(shù)和方法,顯示的文檔內(nèi)容取自文檔字符串(即 __doc__ 屬性),并會遞歸地從其帶文檔的成員中獲取。 如果沒有文檔字符串,pydoc 會嘗試從類、函數(shù)或方法定義上方,或是模塊頂部的注釋行段落獲取 (參見 inspect.getcomments()).
內(nèi)置函數(shù) help() 會發(fā)起調(diào)用交互式解釋器的在線幫助系統(tǒng),該系統(tǒng)使用 pydoc 在終端上生成文本形式的文檔內(nèi)容。 同樣的文本文檔也可以在 Python 解釋器以外通過在操作系統(tǒng)的命令提示符下以腳本方式運行 pydoc 來查看。 例如,運行
python -m pydoc sys
輸出如下:
Help on built-in module sys:
NAME
sys
MODULE REFERENCE
https://docs.python.org/3.11/library/sys.html
-- More --
在終端提示符下將通過 sys 模塊顯示文檔內(nèi)容,其樣式類似于 Unix man 命令所顯示的指南頁面。 pydoc 的參數(shù)可以為函數(shù)、模塊、包,或帶點號的對模塊中的類、方法或函數(shù)以及包中的模塊的引用。 如果傳給 pydoc 的參數(shù)像是一個路徑(即包含所在操作系統(tǒng)的路徑分隔符,例如 Unix 的正斜杠),并且其指向一個現(xiàn)有的 Python 源文件,則會為該文件生成文檔內(nèi)容。
備注:為了找到對象及其文檔內(nèi)容,pydoc 會導(dǎo)入文檔所在的模塊。 因此,任何模塊層級的代碼都將被執(zhí)行。 請使用 if __name__ == '__main__': 語句來確保一個文件的特定代碼僅在作為腳本被發(fā)起調(diào)用時執(zhí)行而不是在被導(dǎo)入時執(zhí)行。
當(dāng)打印輸出到控制臺時,pydoc 會嘗試對輸出進(jìn)行分頁以方便閱讀。 如果設(shè)置了 PAGER 環(huán)境變量,pydoc 將使用該變量值作為分頁程序。
在參數(shù)前指定 -w 旗標(biāo)將把 HTML 文檔寫入到當(dāng)前目錄下的一個文件中,而不是在控制臺中顯示文本。
在參數(shù)前指定 -k 旗標(biāo)將在全部可用模塊的提要行中搜索參數(shù)所給定的關(guān)鍵字,具體方式同樣類似于 Unix man 命令。 模塊的提要行就是其文檔字符串的第一行。
你還可以使用 pydoc 在本機(jī)上啟動一個 HTTP 服務(wù)器并向來訪的 Web 瀏覽器展示文檔。 python -m pydoc -p 1234 將在 1234 端口上啟動 HTTP 服務(wù)器,允許在你所用的 Web 瀏覽器上通過 http://localhost:1234/ 來瀏覽文檔。 指定 0 作為端口號將任意選擇一個未使用的端口。
python -m pydoc -n <hostname> 將啟動在給定主機(jī)名上監(jiān)聽的服務(wù)器。 默認(rèn)的主機(jī)名為 'localhost' 但是如果你希望能從其他機(jī)器上搜索該服務(wù)器,你可能會想要改變服務(wù)器所響應(yīng)的主機(jī)名。 在開發(fā)階段此特性會特別有用,如果你想要在一個容器中運行 pydoc 的話。
python -m pydoc -b 將啟動服務(wù)器并額外打開一個 Web 瀏覽器訪問模塊索引頁。 所發(fā)布的每個頁面頂端都帶有導(dǎo)航欄,你可以點擊 Get 來獲取特定條目的幫助信息,點擊 Search 在所有模塊的摘要行中搜索某個關(guān)鍵詞,或點擊 Module index, Topics 和 Keywords 前往相應(yīng)的頁面。
在本地瀏覽器打開生成的api文檔:
python -m pydoc -p 1234 -b
生成后會在本地啟動一個web服務(wù)器:
(venv) PS H:\測試\requests-main> python -m pydoc -p 1234 -b Server ready at http://localhost:1234/ Server commands: [b]rowser, [q]uit server>

當(dāng) pydoc 生成文檔內(nèi)容時,它會使用當(dāng)前環(huán)境和路徑來定位模塊。 因此,發(fā)起調(diào)用 pydoc spam 得到的文檔版本會與你啟動 Python 解釋器并輸入 import spam 時得到的模塊版本完全相同。
核心模塊的模塊文檔位置對應(yīng)于 https://docs.python.org/X.Y/library/ 其中 X 和 Y 是 Python 解釋器的主要版本號和小版本號。 這可通過設(shè)置 PYTHONDOCS 環(huán)境變量來重載為指向不同的 URL 或包含 Library Reference Manual 頁面的本地目錄。
到此這篇關(guān)于python pydoc生成API文檔的實現(xiàn)的文章就介紹到這了,更多相關(guān)python pydoc生成API文檔內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python腳本是將PNG圖像批量生成為ICO格式圖標(biāo)
在開發(fā)過程中,我們經(jīng)常需要將不同格式的圖像轉(zhuǎn)換為.ico格式,用于應(yīng)用程序圖標(biāo),下面我們就來看看如何使用Python腳本實現(xiàn)這一功能吧2026-01-01
pygame 精靈的行走及二段跳的實現(xiàn)方法(必看篇)
下面小編就為大家?guī)硪黄猵ygame 精靈的行走及二段跳的實現(xiàn)方法(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07
回調(diào)函數(shù)的意義以及python實現(xiàn)實例
本篇文章主要介紹了回調(diào)函數(shù)的意義以及python實現(xiàn)實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
python中pandas.DataFrame對行與列求和及添加新行與列示例
pandas是python環(huán)境下最有名的數(shù)據(jù)統(tǒng)計包,而DataFrame翻譯為數(shù)據(jù)框,是一種數(shù)據(jù)組織方式,這篇文章主要給大家介紹了python中pandas.DataFrame對行與列求和及添加新行與列的方法,文中給出了詳細(xì)的示例代碼,需要的朋友可以參考借鑒,下面來一起看看吧。2017-03-03
python編程使用PyQt創(chuàng)建UE藍(lán)圖
這篇文章主要為大家介紹了python編程中如何使用PyQt創(chuàng)建UE藍(lán)圖的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10
深入淺析pycharm中 Make available to all projects的含義
這篇文章主要介紹了pycharm中 Make available to all projects的含義,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
python實現(xiàn)根據(jù)月份和日期得到星座的方法
這篇文章主要介紹了python實現(xiàn)根據(jù)月份和日期得到星座的方法,涉及Python操作字符串及數(shù)組的技巧,非常具有實用價值,需要的朋友可以參考下2015-03-03

