Mar*_*som 2 python directory optimization
该os.walk函数返回目录和文件的单独列表.许多常见操作系统(如Windows和Linux)上的底层OS调用返回一个文件类型或标志,指定每个目录条目是文件还是目录; 如果没有此标志,则必须再次为每个返回的文件名查询操作系统.代码是否os.walk利用这些信息或将其丢弃os.listdir?
不,它没有.
在引擎盖下,os.walk()使用os.listdir()和os.path.isdir()单独列出文件和目录.查看源代码walk().
特别:
try:
# Note that listdir and error are globals in this module due
# to earlier import-*.
names = listdir(top)
except error, err:
if onerror is not None:
onerror(err)
return
dirs, nondirs = [], []
for name in names:
if isdir(join(top, name)):
dirs.append(name)
else:
nondirs.append(name)
Run Code Online (Sandbox Code Playgroud)
其中listdir和isdir是用于模块的全局os.listdir()和os.path.isdir()功能.它为子目标递归调用.