dircache.py

来自「mallet是自然语言处理、机器学习领域的一个开源项目。」· Python 代码 · 共 45 行

PY
45
字号
"""Read and cache directory listings.The listdir() routine returns a sorted list of the files in a directory,using a cache to avoid reading the directory more often than necessary.The annotate() routine appends slashes to directories."""import os__all__ = ["listdir", "opendir", "annotate", "reset"]cache = {}def reset():    """Reset the cache completely."""    global cache    cache = {}def listdir(path):    """List directory contents, using cache."""    try:        cached_mtime, list = cache[path]        del cache[path]    except KeyError:        cached_mtime, list = -1, []    try:        mtime = os.stat(path)[8]    except os.error:        return []    if mtime != cached_mtime:        try:            list = os.listdir(path)        except os.error:            return []        list.sort()    cache[path] = mtime, list    return listopendir = listdir # XXX backward compatibilitydef annotate(head, list):    """Add '/' suffixes to directories."""    for i in range(len(list)):        if os.path.isdir(os.path.join(head, list[i])):            list[i] = list[i] + '/'

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?