现在的位置: 首页 > 综合 > 正文

python sys.modules模块

2018年03月15日 ⁄ 综合 ⁄ 共 12382字 ⁄ 字号 评论关闭

    sys.modules是一个全局字典,该字典是python启动后就加载在内存中。每当程序员导入新的模块,sys.modules都将记录这些模块。字典sys.modules对于加载模块起到了缓冲的作用。当某个模块第一次导入,字典sys.modules将自动记录该模块。当第二次再导入该模块时,python会直接到字典中查找,从而加快了程序运行的速度。

   字典sys.modules具有字典所拥有的一切方法,可以通过这些方法了解当前的环境加载了哪些模块。

    import  sys

    print sys.modules.keys()

    print sys.modules.values()

    print sys.modules["os"]

>>> import sys

>>> print sys.modules.keys()
['apt.os', 'heapq', 'email.iterators', '_io', 'functools', 'random', 'apport.errno', '_bisect', 'email.mime.text', 'subprocess', 'sysconfig', 'email.MIMEImage', 'gc', 'apport.pwd', 'apt.re', 'encodings.encodings', 'email.mime', 'email.MIMEText', 'apport.sys',
'xml', 'email.time', 'struct', 'tempfile', 'apport.traceback', 'base64', 'apt.cache', 'pyexpat.errors', 'email.uu', 'apt.operator', 'email.warnings', 'collections', 'apt_pkg', 'apport', 'email.binascii', 'email.Parser', 'zipimport', 'string', 'xml.dom.copy',
'apt.urllib2', 'apport.hashlib', 'encodings.utf_8', 'apt.apt_pkg', 'ssl', 'apport.re', 'apt', 'email.urllib', 'email.FeedParser', 'ConfigParser', 'httplib', 'bisect', 'signal', 'email.codecs', 'apt.progress.errno', 'email.encoders', 'pyexpat.model', 'apport.packaging_impl',
'quopri', 'email.Message', 'cStringIO', 'zlib', 'rfc822', 'locale', 'apt.progress.sys', 'email.charset', 'apport.fileutils', 'xml.parsers.expat', 'email.quopriMIME', 'apt.weakref', 'apt.progress.warnings', 'encodings', 'email.Generator', 'apport.warnings',
'apport.problem_report', 'abc', 'email.MIMEAudio', 'apport.ConfigParser', 'apt.httplib', 'urllib', 're', 'apt.deprecation', 'apt.progress.re', 'email.quopri', 'apport.report', 'email.mime.base', 'apt.subprocess', 'email.errors', 'email', 'math', 'fcntl', 'apport.os',
'apt.progress', 'apt.progress.os', 'UserDict', 'urllib2', 'fnmatch', 'apport.grp', 'apport.shutil', 'codecs', 'apport.urllib', 'email.Header', '_functools', '_locale', 'email.Iterators', 'socket', 'thread', 'traceback', 'apt.apt', 'apt.progress.text', 'apt.fnmatch',
'weakref', 'itertools', 'apt.progress.apt', 'email.Charset', 'apt.progress.fcntl', 'xml.dom.xmlbuilder', 'os', 'marshal', 'apport.stat', '__future__', '_collections', 'apt.progress.select', 'xml.dom', '_sre', '__builtin__', 'apport.apport', 'xml.parsers',
'apport.fnmatch', 'xml.dom.domreg', 'operator', 'xml.parsers.pyexpat', 'array', 'email.Errors', 'select', '_heapq', 'apport.glob', 'apt.warnings', 'email.socket', 'posixpath', 'email.base64MIME', 'errno', '_socket', 'binascii', 'email.Utils', 'sre_constants',
'email.MIMEMessage', 'email._parseaddr', 'email.sys', 'os.path', 'apt.package', 'apt.socket', '_warnings', 'xml.dom.NodeFilter', 'apport.gettext', 'encodings.__builtin__', 'email.MIMENonMultipart', '_codecs', 'apport.apt', 'email.os', 'email.utils', 'pwd',
'apport.time', 'copy', '_struct', 'email.email', 'hashlib', 'apt.cdrom', 'keyword', 'uu', 'xml.dom.minidom', 'apport_python_hook', 'email.random', 'posix', 'encodings.aliases', 'apt.sys', 'exceptions', 'sre_parse', 'pickle', 'mimetools', 'copy_reg', 'sre_compile',
'_hashlib', '_random', 'site', 'email.base64', 'io', '__main__', 'problem_report', 'apt.progress.old', 'pyexpat', 'email.MIMEBase', 'email.message', 'apport.xml', 'email.mime.nonmultipart', 'apport.subprocess', 'shutil', 'strop', 'grp', 'linecache', 'encodings.codecs',
'gettext', '_abcoll', 'xml.dom.minicompat', 'email.MIMEMultipart', 'apport.tempfile', 'genericpath', 'stat', '_ssl', 'warnings', 'glob', 'email.re', 'textwrap', 'sys', 'email.Encoders', 'readline', 'apt.glob', 'email.cStringIO', 'types', 'xml.dom.xml', 'apt.progress.base',
'sitecustomize', 'email.mime.email', 'apt.progress.apt_pkg', 'email.base64mime', 'email.mime.multipart', '_weakref', 'email.quoprimime', 'apport.packaging', 'urlparse', '_weakrefset', 'email.string', 'time', 'gzip', 'apt.collections']
>>> print sys.modules.values()
[None, <module 'heapq' from '/usr/lib/python2.7/heapq.pyc'>, <module 'email.iterators' from '/usr/lib/python2.7/email/iterators.pyc'>, <module '_io' from '/usr/lib/python2.7/lib-dynload/_io.so'>, <module 'functools' from '/usr/lib/python2.7/functools.pyc'>,
<module 'random' from '/usr/lib/python2.7/random.pyc'>, None, <module '_bisect' (built-in)>, <module 'email.mime.text' from '/usr/lib/python2.7/email/mime/text.pyc'>, <module 'subprocess' from '/usr/lib/python2.7/subprocess.pyc'>, <module 'sysconfig' from
'/usr/lib/python2.7/sysconfig.pyc'>, <email.LazyImporter object at 0x26efd90>, <module 'gc' (built-in)>, None, None, None, <module 'email.mime' from '/usr/lib/python2.7/email/mime/__init__.pyc'>, <email.LazyImporter object at 0x26eff50>, None, <module 'xml'
from '/usr/lib/python2.7/xml/__init__.pyc'>, None, <module 'struct' from '/usr/lib/python2.7/struct.pyc'>, <module 'tempfile' from '/usr/lib/python2.7/tempfile.pyc'>, None, <module 'base64' from '/usr/lib/python2.7/base64.pyc'>, <module 'apt.cache' from '/usr/lib/python2.7/dist-packages/apt/cache.pyc'>,
<module 'pyexpat.errors' (built-in)>, None, None, None, <module 'collections' from '/usr/lib/python2.7/collections.pyc'>, <module 'apt_pkg' from '/usr/lib/python2.7/dist-packages/apt_pkg.so'>, <module 'apport' from '/usr/lib/python2.7/dist-packages/apport/__init__.pyc'>,
None, <email.LazyImporter object at 0x26efc10>, <module 'zipimport' (built-in)>, <module 'string' from '/usr/lib/python2.7/string.pyc'>, None, None, None, <module 'encodings.utf_8' from '/usr/lib/python2.7/encodings/utf_8.pyc'>, None, <module 'ssl' from '/usr/lib/python2.7/ssl.pyc'>,
None, <module 'apt' from '/usr/lib/python2.7/dist-packages/apt/__init__.pyc'>, None, <email.LazyImporter object at 0x26efad0>, <module 'ConfigParser' from '/usr/lib/python2.7/ConfigParser.pyc'>, <module 'httplib' from '/usr/lib/python2.7/httplib.pyc'>, <module
'bisect' from '/usr/lib/python2.7/bisect.pyc'>, <module 'signal' (built-in)>, None, None, <module 'email.encoders' from '/usr/lib/python2.7/email/encoders.pyc'>, <module 'pyexpat.model' (built-in)>, <module 'apport.packaging_impl' from '/usr/lib/python2.7/dist-packages/apport/packaging_impl.pyc'>,
<module 'quopri' from '/usr/lib/python2.7/quopri.pyc'>, <email.LazyImporter object at 0x26efbd0>, <module 'cStringIO' (built-in)>, <module 'zlib' (built-in)>, <module 'rfc822' from '/usr/lib/python2.7/rfc822.pyc'>, <module 'locale' from '/usr/lib/python2.7/locale.pyc'>,
None, <module 'email.charset' from '/usr/lib/python2.7/email/charset.pyc'>, <module 'apport.fileutils' from '/usr/lib/python2.7/dist-packages/apport/fileutils.pyc'>, <module 'xml.parsers.expat' from '/usr/lib/python2.7/xml/parsers/expat.pyc'>, <email.LazyImporter
object at 0x26efcd0>, None, None, <module 'encodings' from '/usr/lib/python2.7/encodings/__init__.pyc'>, <email.LazyImporter object at 0x26efb10>, None, None, <module 'abc' from '/usr/lib/python2.7/abc.pyc'>, <email.LazyImporter object at 0x26efd10>, None,
None, <module 'urllib' from '/usr/lib/python2.7/urllib.pyc'>, <module 're' from '/usr/lib/python2.7/re.pyc'>, <module 'apt.deprecation' from '/usr/lib/python2.7/dist-packages/apt/deprecation.pyc'>, None, None, <module 'apport.report' from '/usr/lib/python2.7/dist-packages/apport/report.pyc'>,
<module 'email.mime.base' from '/usr/lib/python2.7/email/mime/base.pyc'>, None, <module 'email.errors' from '/usr/lib/python2.7/email/errors.pyc'>, <module 'email' from '/usr/lib/python2.7/email/__init__.pyc'>, <module 'math' (built-in)>, <module 'fcntl' (built-in)>,
None, <module 'apt.progress' from '/usr/lib/python2.7/dist-packages/apt/progress/__init__.pyc'>, None, <module 'UserDict' from '/usr/lib/python2.7/UserDict.pyc'>, <module 'urllib2' from '/usr/lib/python2.7/urllib2.pyc'>, <module 'fnmatch' from '/usr/lib/python2.7/fnmatch.pyc'>,
None, None, <module 'codecs' from '/usr/lib/python2.7/codecs.pyc'>, None, <email.LazyImporter object at 0x26efb50>, <module '_functools' (built-in)>, <module '_locale' (built-in)>, <email.LazyImporter object at 0x26efb90>, <module 'socket' from '/usr/lib/python2.7/socket.pyc'>,
<module 'thread' (built-in)>, <module 'traceback' from '/usr/lib/python2.7/traceback.pyc'>, None, <module 'apt.progress.text' from '/usr/lib/python2.7/dist-packages/apt/progress/text.pyc'>, None, <module 'weakref' from '/usr/lib/python2.7/weakref.pyc'>, <module
'itertools' (built-in)>, None, <email.LazyImporter object at 0x26efa10>, None, <module 'xml.dom.xmlbuilder' from '/usr/lib/python2.7/xml/dom/xmlbuilder.pyc'>, <module 'os' from '/usr/lib/python2.7/os.pyc'>, <module 'marshal' (built-in)>, None, <module '__future__'
from '/usr/lib/python2.7/__future__.pyc'>, <module '_collections' (built-in)>, None, <module 'xml.dom' from '/usr/lib/python2.7/xml/dom/__init__.pyc'>, <module '_sre' (built-in)>, <module '__builtin__' (built-in)>, None, <module 'xml.parsers' from '/usr/lib/python2.7/xml/parsers/__init__.pyc'>,
None, <module 'xml.dom.domreg' from '/usr/lib/python2.7/xml/dom/domreg.pyc'>, <module 'operator' (built-in)>, None, <module 'array' (built-in)>, <email.LazyImporter object at 0x26efa90>, <module 'select' (built-in)>, <module '_heapq' from '/usr/lib/python2.7/lib-dynload/_heapq.so'>,
None, None, None, <module 'posixpath' from '/usr/lib/python2.7/posixpath.pyc'>, <email.LazyImporter object at 0x26efc90>, <module 'errno' (built-in)>, <module '_socket' (built-in)>, <module 'binascii' (built-in)>, <email.LazyImporter object at 0x26efc50>,
<module 'sre_constants' from '/usr/lib/python2.7/sre_constants.pyc'>, <email.LazyImporter object at 0x26efdd0>, <module 'email._parseaddr' from '/usr/lib/python2.7/email/_parseaddr.pyc'>, None, <module 'posixpath' from '/usr/lib/python2.7/posixpath.pyc'>,
<module 'apt.package' from '/usr/lib/python2.7/dist-packages/apt/package.pyc'>, None, <module '_warnings' (built-in)>, <module 'xml.dom.NodeFilter' from '/usr/lib/python2.7/xml/dom/NodeFilter.pyc'>, None, None, <email.LazyImporter object at 0x26efe90>, <module
'_codecs' (built-in)>, None, None, <module 'email.utils' from '/usr/lib/python2.7/email/utils.pyc'>, <module 'pwd' (built-in)>, None, <module 'copy' from '/usr/lib/python2.7/copy.pyc'>, <module '_struct' (built-in)>, None, <module 'hashlib' from '/usr/lib/python2.7/hashlib.pyc'>,
<module 'apt.cdrom' from '/usr/lib/python2.7/dist-packages/apt/cdrom.pyc'>, <module 'keyword' from '/usr/lib/python2.7/keyword.pyc'>, <module 'uu' from '/usr/lib/python2.7/uu.pyc'>, <module 'xml.dom.minidom' from '/usr/lib/python2.7/xml/dom/minidom.pyc'>,
<module 'apport_python_hook' from '/usr/lib/python2.7/dist-packages/apport_python_hook.pyc'>, None, <module 'posix' (built-in)>, <module 'encodings.aliases' from '/usr/lib/python2.7/encodings/aliases.pyc'>, None, <module 'exceptions' (built-in)>, <module 'sre_parse'
from '/usr/lib/python2.7/sre_parse.pyc'>, <module 'pickle' from '/usr/lib/python2.7/pickle.pyc'>, <module 'mimetools' from '/usr/lib/python2.7/mimetools.pyc'>, <module 'copy_reg' from '/usr/lib/python2.7/copy_reg.pyc'>, <module 'sre_compile' from '/usr/lib/python2.7/sre_compile.pyc'>,
<module '_hashlib' (built-in)>, <module '_random' (built-in)>, <module 'site' from '/usr/lib/python2.7/site.pyc'>, None, <module 'io' from '/usr/lib/python2.7/io.pyc'>, <module '__main__' (built-in)>, <module 'problem_report' from '/usr/lib/python2.7/dist-packages/problem_report.pyc'>,
<module 'apt.progress.old' from '/usr/lib/python2.7/dist-packages/apt/progress/old.pyc'>, <module 'pyexpat' from '/usr/lib/python2.7/lib-dynload/pyexpat.so'>, <email.LazyImporter object at 0x26efd50>, <module 'email.message' from '/usr/lib/python2.7/email/message.pyc'>,
None, <module 'email.mime.nonmultipart' from '/usr/lib/python2.7/email/mime/nonmultipart.pyc'>, None, <module 'shutil' from '/usr/lib/python2.7/shutil.pyc'>, <module 'strop' (built-in)>, <module 'grp' (built-in)>, <module 'linecache' from '/usr/lib/python2.7/linecache.pyc'>,
None, <module 'gettext' from '/usr/lib/python2.7/gettext.pyc'>, <module '_abcoll' from '/usr/lib/python2.7/_abcoll.pyc'>, <module 'xml.dom.minicompat' from '/usr/lib/python2.7/xml/dom/minicompat.pyc'>, <email.LazyImporter object at 0x26efe10>, None, <module
'genericpath' from '/usr/lib/python2.7/genericpath.pyc'>, <module 'stat' from '/usr/lib/python2.7/stat.pyc'>, <module '_ssl' (built-in)>, <module 'warnings' from '/usr/lib/python2.7/warnings.pyc'>, <module 'glob' from '/usr/lib/python2.7/glob.pyc'>, None,
<module 'textwrap' from '/usr/lib/python2.7/textwrap.pyc'>, <module 'sys' (built-in)>, <email.LazyImporter object at 0x26efa50>, <module 'readline' from '/usr/lib/python2.7/lib-dynload/readline.so'>, None, None, <module 'types' from '/usr/lib/python2.7/types.pyc'>,
None, <module 'apt.progress.base' from '/usr/lib/python2.7/dist-packages/apt/progress/base.pyc'>, <module 'sitecustomize' from '/usr/lib/python2.7/sitecustomize.pyc'>, None, None, <module 'email.base64mime' from '/usr/lib/python2.7/email/base64mime.pyc'>,
<module 'email.mime.multipart' from '/usr/lib/python2.7/email/mime/multipart.pyc'>, <module '_weakref' (built-in)>, <module 'email.quoprimime' from '/usr/lib/python2.7/email/quoprimime.pyc'>, <module 'apport.packaging' from '/usr/lib/python2.7/dist-packages/apport/packaging.pyc'>,
<module 'urlparse' from '/usr/lib/python2.7/urlparse.pyc'>, <module '_weakrefset' from '/usr/lib/python2.7/_weakrefset.pyc'>, None, <module 'time' (built-in)>, <module 'gzip' from '/usr/lib/python2.7/gzip.pyc'>, None]
>>> print sys.modules["os"]
<module 'os' from '/usr/lib/python2.7/os.pyc'>

抱歉!评论已关闭.