📄 statcach.py
字号:
# Module 'statcache'## Maintain a cache of file stats.# There are functions to reset the cache or to selectively remove items.import osfrom stat import *# The cache.# Keys are pathnames, values are `os.stat' outcomes.#cache = {}# Stat a file, possibly out of the cache.#def stat(path): if cache.has_key(path): return cache[path] cache[path] = ret = os.stat(path) return ret# Reset the cache completely.#def reset(): global cache cache = {}# Remove a given item from the cache, if it exists.#def forget(path): if cache.has_key(path): del cache[path]# Remove all pathnames with a given prefix.#def forget_prefix(prefix): n = len(prefix) for path in cache.keys(): if path[:n] == prefix: del cache[path]# Forget about a directory and all entries in it, but not about# entries in subdirectories.#def forget_dir(prefix): if prefix[-1:] == '/' and prefix <> '/': prefix = prefix[:-1] forget(prefix) if prefix[-1:] <> '/': prefix = prefix + '/' n = len(prefix) for path in cache.keys(): if path[:n] == prefix: rest = path[n:] if rest[-1:] == '/': rest = rest[:-1] if '/' not in rest: del cache[path]# Remove all pathnames except with a given prefix.# Normally used with prefix = '/' after a chdir().#def forget_except_prefix(prefix): n = len(prefix) for path in cache.keys(): if path[:n] <> prefix: del cache[path]# Check for directory.#def isdir(path): try: st = stat(path) except os.error: return 0 return S_ISDIR(st[ST_MODE])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -