2016-04-15 90 views
1

如何在python腳本中獲取模塊功能的幫助,我嘗試了以下內容。如何在python腳本中獲取模塊功能的幫助

import os 

# Stored all the function in a variable. 
os_module= dir(os) 

function_module_dict = {} 
# trying to use help in script 

for function_name in os_module: 
    print function_name 
    function_module_dict[function_name] = help(os.function_name) 

print function_module_dict 

我得到follwing錯誤,

AttributeError的: '模塊' 對象有沒有屬性 '函數名'

回答

0

,當你調用help(os.function_name)出現您的問題。這裏,os.function_name實際上的意思是「function_name字段os」,而不是「function_nameos」。

您需要改用getattr(os, function_name)。然後,變量function_name將被評估。

+0

謝謝它解決了我的目的。 – Niraj

+0

@MatthieuMoy提示:在接受另一個答案之後,讓新用戶接受自己的答案是違背禮節的。 – timgeb

+0

Err,在接受另一個答案後我沒有推,當我寫評論時,我的答案是唯一的答案。我只是在回覆評論時說,當有一種方法可以正式用stackoverflow標記時,我的答案是非正式的。 –

3

os.function_name嘗試從對象os訪問字面上名爲'function_name'的不存在的屬性。

對於動態屬性查找,可以使用getattr。您可以使用下面的代碼。

import os 
import pydoc 

help_dict = {} 
for function_name in dir(os): 
    help_dict[function_name] = pydoc.render_doc(getattr(os, function_name)) 

help函數返回None,而不是文檔字符串。要獲得幫助文本爲字符串,請使用pydoc.render_doc