2015-10-17 88 views
2

繼「Windows 7 - pydoc from cmd」之後,我遇到以下問題。我準備了一個簡單的文檔字符串,記錄hello.py的 「Hello World」 腳本:停止運行我的Python程序pydoc

""" This module prints Hello, world 
    More documentation. 
""" 
print("Hello, world") 

,並保存在C它:\ Python34 \ lib中。

然後使用Windows的命令行,我改變了目錄C:\ Python34 \ lib和跑

pydoc <full path to hello.py> 

我的輸出是:

Hello, world 
Help on module hello: 

NAME 
    hello 

DESCRIPTION 
    This module prints Hello, world 
    More documentation. 

FILE 
    c:\python34\lib\hello.py 

這是偉大的,它打印的文檔,但首先它運行該程序。

如何讓它不運行程序,只需打印文檔?

+0

IIRC,這不是它的工作原理。 ..''pydoc'(和一些其他的自動文檔工具,例如'sphinx')導入源代碼並尋找python添加到類/函數等的'__doc__'屬性。我知道的唯一工具是_doesn 't_導入源是'epydoc'。也就是說,通常你可以防止你不想在'if __name__ =='__main __':'塊中執行的任何語句。 – mgilson

回答

4

pydoc導入要記錄的模塊。所以執行語句。

如果你可以修改代碼,後衛if __name__ == "__main__"print線所以只有當它被直接執行,執行的路線,而不是在它導入:

""" This module prints Hello, world 
    More documentation. 
""" 
if __name__ == "__main__": 
    print("Hello, world") 
相關問題