os.glob

os.glob(pathname):返回一个匹配pathmane的路径名列表,本质就是正则匹配,匹配出当项目下所有匹配的路径名。

例如Model下有:page.py,lol.py

那么glob.glob(\svn\Model\*.py)就会返回一个列表:

['E:\\svn\\Model\\page.py','E:\\svn\\Model\\lol.py'].

然后我们可以截取出这个列表中的文件名:page.py,lol.py.

然后在批量导入这些文件!

示例代码:


importglob

importos

basedir = os.path.abspath(os.path.dirname(__file__))

defregister_controller(app):

"""自动查找Controller下的蓝图控制器 自动注册"""

modpath = os.path.split(__file__)[0]

printos.path.join(modpath,'*.py')

pys = glob.glob(os.path.join(modpath,'*.py'))

blueprint_dict = []

print"pys", pys

map(lambdax: blueprint_dict.append(x.split(os.sep)[-1:][0][:-3]), pys)

print'blueprint_dict',blueprint_dict

forxinblueprint_dict:

ifx[-2:] !="__":

mod =__import__("Controller."+ x,fromlist=[x])

modattr =getattr(mod, x)

app.register_blueprint(modattr)

你可能感兴趣的:(os.glob)