2017-04-20 43 views
2

我正在編寫一個需要調用腳本的文檔字符串的模塊。到目前爲止,我已成功使用獲取任意腳本文件的Python文檔字符串

​​

文檔字符串都可以使用__doc__調用腳本中可以找到獲取調用腳本的文件名。然而,從被調用的腳本獲取文檔字符串似乎並不重要。當然,我可以編寫一個函數,但這肯定會忽略一些不常見的情況。我有一種方法來實際解析調用腳本以查找其文檔字符串(不執行其代碼)?

+0

這是什麼情況 - 爲什麼你需要調用函數的文檔字符串? – jonrsharpe

+0

只需導入文件(模塊)工作,然後調用模塊.__ doc__?據我所知,即使pydoc導入模塊來查找文檔,以防止執行導入應與if __name__ =='__main__': – chaos

+0

也ast模塊可能是 – chaos

回答

1

基於混沌的建議使用ast我寫了以下似乎很好地工作。

import ast 

with open(fname, 'r') as f: 
    tree = ast.parse(f.read()) 
docstring = ast.get_docstring(tree) 
+0

我把這個建議寫進了答案。如果混亂髮布了完整的答案,我會在他創造出最初的想法時接受他。 – Octaviour

相關問題