やりたいこと
モジュールがどんな名前を定義しているか、dir()関数を使って調べることができます。
調べたいモジュールが多数あり、その一覧を次々にdir()関数に渡して、各モジュールの情報を取得するようなことをやりたいと思っています。
・ dir()関数
やりたいこと
dir()の引数に情報を取得したいサブモジュールを文字列で指定すると、サブモジュールの情報ではなく、文字列の情報が表示されてしまいます。
disp.py
1import sys 2 3sub_module = 'sys.path' 4names = dir(sub_module) 5print(names)
文字列の情報が出力される
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
※ 最初に質問した時点では、エラーがでると記載しましたが、ryunixさんから、文法エラーがでないと指摘があり、実行状況を訂正させていただきました。ryunixさん、指摘ありがとうございます。
書き方が分からない部分
「sys.path」の部分を文字列で指定し、サブモジュール「sys.path」の情報が出力されるようにしたいです。
下記では、文字列ではなく、サブモジュール「sys.path」を直接指定してしまっています。
disp.py
1import sys 2 3names = dir(sys.path) 4print(names)
出力したい結果(サブモジュールの情報を出力したい)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
環境
Python 3.5.2
どうぞよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/23 04:03
2016/09/23 04:53
2016/09/23 05:11
2016/09/23 05:18