列表 5. 检测和安装以其类命名的 Mix-ins
from MixIn import MixIn
from glob import glob
import os
def MixInDir(dir):
''' Installs mix-ins found in the given directory.
Each mix-in is expected to match the name
of a class in our domain classes. '''
path = os.path.join(basePath, '*.py')
for filename in glob(path):
dirname, name = os.path.split(filename)
name = os.path.splitext(name)[0]
# Get the real class
module = __import__(name)
pyClass = getattr(module, name)
# Get the mix-in class
results = {}
exec open(filename) in results
mixInClass = results[name]
# Mix it in
MixIn(pyClass, mixInClass)
© . All rights reserved.