Python: sys.modules : introspection

hdknr@deb09:~/authentic/logs$ python
Python 2.5.2 (r252:60911, Jan  4 2009, 17:40:26)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys

>>> for x in sys.modules:
…   print x

copy_reg
__main__
site
__builtin__
encodings
encodings.encodings
posixpath
errno
encodings.codecs
os.path
_codecs
stat
zipimport
warnings
encodings.types
UserDict
encodings.utf_8
sys
codecs
readline
types
_types
sitecustomize
signal
linecache
posix
encodings.aliases
exceptions
os

>>> s=sys.modules[‘os’]
>>> dir(s)
[‘EX_CANTCREAT’, ‘EX_CONFIG’, ‘EX_DATAERR’, ‘EX_IOERR’, ‘EX_NOHOST’, ‘EX_NOINPUT’,
  :
  :
‘wait3’, ‘wait4’, ‘waitpid’, ‘walk’, ‘write’]
>>> x=getattr(sys.modules[‘os’],’write’)
>>> type(x)
<type ‘builtin_function_or_method’>
>>> x=getattr(sys.modules[‘os’],’name’)
<type ‘str’>
>>> x
‘posix’

>>> x=getattr(sys.modules[‘os’],’getpid’)
>>> type(x)
<type ‘builtin_function_or_method’>
>>> x()
4379

カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中