我在某处看到了一些用于配置的 python 代码,但我无法理解。
这是代码:
import sys, os.path
Module = type(sys) # What does this line for?
modules = {}
print dir(Module)
def load(fullpath, env={}, module=Module):
try:
code = open(fullpath).read()
except IOError:
raise ImportError, 'No module named %s' % fullpath
filename = os.path.basename(fullpath)
try:
return modules[filename]
except KeyError:
pass
####################################
#### Most confused
m = module(filename)
m.__module_class__ = module
m.__file__ = fullpath
m.__dict__.update(env)
exec compile(code, filename, 'exec') in m.__dict__
####################################
modules[filename] = m
return m
def unload(m):
filename = os.path.basename(m.__file__)
del modules[filename]
return None
def reload(m):
fullpath = m.__file__
try:
code = open(fullpath).read()
except IOError:
raise ImportError, 'No module named %s' % fullpath
env = m.__dict__
module_class = m.__module_class__
filename = os.path.basename(fullpath)
m = module_class(filename)
m.__file__ = fullpath
m.__dict__.update(env)
m.__module_class__ = module_class
exec compile(code, filename, 'exec') in m.__dict__
modules[filename] = m
return m
- 我不明白为什么要使 Module = type(sys)
- var m 及其内置方法有什么作用,我在哪里可以找到文档?
- 为什么只定义一个dict var?