gitcompileall.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:PYmods 作者: PolyacovYury 项目源码 文件源码
def compile_dir(dir, maxlevels=10, ddir=None,
                force=0, rx=None, quiet=0):
    """Byte-compile all modules in the given directory tree.

    Arguments (only dir is required):

    dir:       the directory to byte-compile
    maxlevels: maximum recursion level (default 10)
    ddir:      the directory that will be prepended to the path to the
               file as it is compiled into each byte-code file.
    force:     if 1, force compilation, even if timestamps are up-to-date
    quiet:     if 1, be quiet during compilation
    """
    if not quiet:
        print 'Listing', dir, '...'
    try:
        names = os.listdir(dir)
    except os.error:
        print "Can't list", dir
        names = []
    names.sort()
    success = 1
    for name in names:
        fullname = os.path.join(dir, name).replace(os.sep, '/')
        if ddir is not None:
            dfile = os.path.join(ddir, name).replace(os.sep, '/')
        else:
            dfile = None
        if not os.path.isdir(fullname):
            if not compile_file(fullname, ddir, force, rx, quiet):
                success = 0
        elif maxlevels > 0 and \
                        name != os.curdir and name != os.pardir and \
                os.path.isdir(fullname) and \
                not os.path.islink(fullname):
            if not compile_dir(fullname, maxlevels - 1, dfile, force, rx,
                               quiet):
                success = 0
    return success
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号