我想在我的计算机驱动器D到Z中搜索所有vhdx文件,并计算它们的总量。但是我想排除目录。如何更改我的代码?
getState(outlet) {
return outlet.activatedRouteData.state;
}
SELECT *, DATEADD(DAY, -1, LEAD (StartDate, 1) OVER (PARTITION BY ID ORDER BY StartDate)) AS ENDDATE
FROM #Temp
答案 0 :(得分:2)
这是我在os.walk
上进行迭代时通常排除目录的方式:
for root, dirs, files in os.walk(drv):
dirs[:] = [d for d in dirs if d not in extf]
这里的重点是使用slice-assignment(dirs[:] = ...
)来就地更改dirs
(将dirs
重新分配到新创建的列表)。
如果您想稍微加快速度,我建议将extf
变成set
:
extf = set(('$RECYCLE.BIN','System Volume Information'))
答案 1 :(得分:0)
适合您的示例:
from pathlib import Path
i = 0
az = lambda: (chr(i)+":\\" for i in range(ord("D"), ord("Z") + 1))
for d in az():
p = Path(d)
if not p.exists():
continue
i += len(list(p.rglob('*.vhdx')))
print("total vhdx files:", i)