5

inspect.getmembersファイル内のクラスと関数をチェックするために使用しようとしています。inspect.getmembers問題は、を使用せずにファイルの名前を渡す方法がわからないことですimport。毎回違うファイル名を指定する必要があるからです

コードは次のようになります。

def extractName(self,fileName):

    for name, obj in inspect.getmembers(FileName):
        if inspect.isclass(obj):

            print "this is class",name


    if inspect.isfunction(obj):

        print "this is method",name
4

1 に答える 1

6

モジュールを検査するには、何らかの方法でモジュールを実行する必要があります。そうしないと、ファイル内の定義を使用できなくなります。

を使用module = __import__(modname)して、モジュールを名前でmodule = imp.load_source("__inspected__", path)インポートしたり、モジュールをパスでインポートしたりできます。

于 2012-10-21T02:21:24.643 に答える