2017-05-15 5 views
-3

importモジュールとgetattrを使用してクラスメソッドのdocstringを取得しようとしています。私は前に次のことをしています:クラスメソッドを持つimportモジュール

getattr(import_module('string'),'capwords').__doc__ 

期待どおりに機能しましたか? は今、私はクラスのメソッドと同じことをしようと私はクラスメソッドのドキュメンテーション文字列を取得するにはどうすればよい次のエラー

Traceback (most recent call last): 
    File "<input>", line 1, in <module> 
AttributeError: 'module' object has no attribute 'format' 

を取得する例

getattr(import_module('string','Formatter'),'format').__doc__ 

としてthisを使用しました。あなたがstring.Formatter.formatメソッドのドキュメンテーション文字列を取得するには

getattr(getattr(import_module('string'),'Formatter'), 'format').__doc__ 

OR

from operator import attrgetter 
attrgetter("Formatter.format")(import_module("string")).__doc__ 
+0

何をしようとしますか?なぜあなたはこれをやっている?どうしてあなたは既に定数としてインポートしたい名前を持っているので、なぜ 'import_module'と' getattr'を使っていますか? 'string'モジュールが' format'属性を持っていると思いますか? –

+0

エラーメッセージについては何が不明ですか?モジュールには '' format''という属性がありません。 – timgeb

+0

編集を確認してください –

答えて

1

が感じる、あなたが行うことができます:

from string import Formatter 

doc = Formatter.format.__doc__ 
0

をしようとしているよう

+0

私の具体的な質問は、クラスメソッドでインポートモジュールを使用する方法でした –

関連する問題