您的位置:首页 > 其它

有关import reload __import__

2015-08-24 23:02 295 查看
# coding=utf-8_
_author__ = "leaves"

# import
print '---------------import------------------'
import test_duplicate_import
import test_duplicate_import  # 只打印一次
import os

print 'second import: ', id(os)

#reload
#reload后还是用原来的内存地址;不能支持from..import..格式的模块进行重新加载
print '----------------reload-----------------'
print 'before reload  : ', id(test_duplicate_import)
reload(test_duplicate_import)  #前面必须import过 重新加载 会打印test_duplicate_import中的打印语句
print 'after reload  : ', id(test_duplicate_import)

print '----------------__import__-----------------'
import sys

del sys.modules['test_duplicate_import']  #前面已经import过
#__import__
#同import语句同样的功能,但__import__是一个函数,并且只接收字符串作为参数
__import__('test_duplicate_import')  #有打印
__import__('test_duplicate_import')  #无打印
del sys.modules['test_duplicate_import']
print dir()
print sys.modules
__import__('test_duplicate_import')  #有打印

print '----------------from ... import ...-----------------'
import sys

print "PATH: ", sys.path
from sys import path

print "PATH: ", path


输出:

---------------import------------------

first import: 38053688

second import: 38053688

----------------reload-----------------

before reload : 39282680

first import: 38053688

after reload : 39282680

----------------__import__-----------------

first import: 38053688

['__builtins__', '__doc__', '__file__', '__name__', '__package__', '_author__', 'os', 'sys', 'test_duplicate_import']

{'copy_reg': <module 'copy_reg' from 'D:\Program Files\Python\lib\copy_reg.pyc'>, 'sre_compile': <module 'sre_compile' from 'D:\Program Files\Python\lib\sre_compile.pyc'>, 'locale': <module 'locale' from 'D:\Program Files\Python\lib\locale.pyc'>, '_sre': <module
'_sre' (built-in)>, 'functools': <module 'functools' from 'D:\Program Files\Python\lib\functools.pyc'>, 'encodings': <module 'encodings' from 'D:\Program Files\Python\lib\encodings\__init__.pyc'>, 'site': <module 'site' from 'D:\Program Files\Python\lib\site.pyc'>,
'__builtin__': <module '__builtin__' (built-in)>, 'sysconfig': <module 'sysconfig' from 'D:\Program Files\Python\lib\sysconfig.pyc'>, 'operator': <module 'operator' (built-in)>, '__main__': <module '__main__' from 'G:/python/test/My_test/import.py'>, 'types':
<module 'types' from 'D:\Program Files\Python\lib\types.pyc'>, 'encodings.encodings': None, 'encodings.gbk': <module 'encodings.gbk' from 'D:\Program Files\Python\lib\encodings\gbk.pyc'>, 'abc': <module 'abc' from 'D:\Program Files\Python\lib\abc.pyc'>, '_weakrefset':
<module '_weakrefset' from 'D:\Program Files\Python\lib\_weakrefset.pyc'>, 'encodings._codecs_cn': None, 'errno': <module 'errno' (built-in)>, 'encodings.codecs': None, 'sre_constants': <module 'sre_constants' from 'D:\Program Files\Python\lib\sre_constants.pyc'>,
're': <module 're' from 'D:\Program Files\Python\lib\re.pyc'>, '_abcoll': <module '_abcoll' from 'D:\Program Files\Python\lib\_abcoll.pyc'>, 'ntpath': <module 'ntpath' from 'D:\Program Files\Python\lib\ntpath.pyc'>, '_codecs': <module '_codecs' (built-in)>,
'encodings._multibytecodec': None, 'nt': <module 'nt' (built-in)>, '_warnings': <module '_warnings' (built-in)>, 'genericpath': <module 'genericpath' from 'D:\Program Files\Python\lib\genericpath.pyc'>, 'stat': <module 'stat' from 'D:\Program Files\Python\lib\stat.pyc'>,
'zipimport': <module 'zipimport' (built-in)>, 'encodings.__builtin__': None, 'warnings': <module 'warnings' from 'D:\Program Files\Python\lib\warnings.pyc'>, 'UserDict': <module 'UserDict' from 'D:\Program Files\Python\lib\UserDict.pyc'>, '_multibytecodec':
<module '_multibytecodec' (built-in)>, 'sys': <module 'sys' (built-in)>, 'codecs': <module 'codecs' from 'D:\Program Files\Python\lib\codecs.pyc'>, 'os.path': <module 'ntpath' from 'D:\Program Files\Python\lib\ntpath.pyc'>, '_functools': <module '_functools'
(built-in)>, '_codecs_cn': <module '_codecs_cn' (built-in)>, '_locale': <module '_locale' (built-in)>, 'signal': <module 'signal' (built-in)>, 'traceback': <module 'traceback' from 'D:\Program Files\Python\lib\traceback.pyc'>, 'linecache': <module 'linecache'
from 'D:\Program Files\Python\lib\linecache.pyc'>, 'encodings.aliases': <module 'encodings.aliases' from 'D:\Program Files\Python\lib\encodings\aliases.pyc'>, 'exceptions': <module 'exceptions' (built-in)>, 'sre_parse': <module 'sre_parse' from 'D:\Program
Files\Python\lib\sre_parse.pyc'>, 'os': <module 'os' from 'D:\Program Files\Python\lib\os.pyc'>, '_weakref': <module '_weakref' (built-in)>}

first import: 38053688

----------------from ... import ...-----------------

PATH: ['G:\\python\\test\\My_test', 'D:\\Program Files\\Python\\lib\\site-packages\\requests-2.7.0-py2.7.egg', 'D:\\Program Files\\Python\\lib\\site-packages\\pip-7.1.0-py2.7.egg', 'D:\\Program Files\\Python\\lib\\site-packages\\mysql_connector_python-2.0.4-py2.7.egg',
'D:\\Program Files\\Python\\lib\\site-packages\\pymysql3-0.5-py2.7.egg', 'G:\\python\\test\\My_test', 'C:\\Windows\\system32\\python27.zip', 'D:\\Program Files\\Python\\DLLs', 'D:\\Program Files\\Python\\lib', 'D:\\Program Files\\Python\\lib\\plat-win', 'D:\\Program
Files\\Python\\lib\\lib-tk', 'D:\\Program Files\\Python', 'C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python27\\site-packages', 'D:\\Program Files\\Python\\lib\\site-packages']

PATH: ['G:\\python\\test\\My_test', 'D:\\Program Files\\Python\\lib\\site-packages\\requests-2.7.0-py2.7.egg', 'D:\\Program Files\\Python\\lib\\site-packages\\pip-7.1.0-py2.7.egg', 'D:\\Program Files\\Python\\lib\\site-packages\\mysql_connector_python-2.0.4-py2.7.egg',
'D:\\Program Files\\Python\\lib\\site-packages\\pymysql3-0.5-py2.7.egg', 'G:\\python\\test\\My_test', 'C:\\Windows\\system32\\python27.zip', 'D:\\Program Files\\Python\\DLLs', 'D:\\Program Files\\Python\\lib', 'D:\\Program Files\\Python\\lib\\plat-win', 'D:\\Program
Files\\Python\\lib\\lib-tk', 'D:\\Program Files\\Python', 'C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python27\\site-packages', 'D:\\Program Files\\Python\\lib\\site-packages']
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: