takenoko_sandさんがimpにこだわらずにいろいろなものを調べたいというのであれば、以下のやり方を覚えておくと便利でしょう。
一般的に、あるモジュールにどういう機能があるかというのは組み込み関数dirでわかります。
python
1>>> import imp
2>>> dir(imp)
3['C_BUILTIN', 'C_EXTENSION', 'IMP_HOOK', 'NullImporter', 'PKG_DIRECTORY', 'PY_CODERESOURCE', 'PY_COMPILED', 'PY_FROZEN', 'PY_RESOURCE', 'PY_SOURCE', 'SEARCH_ERROR', 'SourcelessFileLoader', '_ERR_MSG', '_HackedGetData', '_LoadCompiledCompatibility', '_LoadSourceCompatibility', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_builtin_from_name', '_exec', '_fix_co_filename', '_load', 'acquire_lock', 'cache_from_source', 'create_dynamic', 'find_module', 'get_frozen_object', 'get_magic', 'get_suffixes', 'get_tag', 'importlib', 'init_builtin', 'init_frozen', 'is_builtin', 'is_frozen', 'is_frozen_package', 'load_compiled', 'load_dynamic', 'load_module', 'load_package', 'load_source', 'lock_held', 'machinery', 'new_module', 'os', 'release_lock', 'reload', 'source_from_cache', 'sys', 'tokenize', 'types', 'util', 'warnings']
ただし、sysとかtypesのように標準モジュールや標準関数が含まれていることもあるので注意してください。
また、パッケージの場合にはサブモジュールの中を知りたければ、サブモジュールについてdirで調べなければなりません。
個々の機能について調べたいときは、helpを使うか、.__doc__をprintします。
例えば、impを調べたければ以下のようにします。
python
1>>> print(imp.__doc__)
2This module provides the components needed to build your own __import__
3function. Undocumented functions are obsolete.
4
5In most cases it is preferred you consider using the importlib module's
6functionality over this module.
ドキュメントのない関数は廃物ですよ、と書かれています。つまり、意識的にドキュメントをなくしたということです。
同様にimp.load_dynamicを調べてみましょう。
python
1>>> print(imp.load_dynamic.__doc__)
2**DEPRECATED**
3
4 Load an extension module.
機能は拡張モジュールをロードすることですが、廃棄済みという警告が書かれています。
こういうやり方を覚えておくと、ネットを調べなくても大抵のことはわかります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/04/15 11:28