1 、环境:目录结构如下,我想排除 D:\目录\目录 1 及其子目录,
D:\目录
├─目录 1 (排除,及其子目录)
│ ├─目录 1
│ ├─目录 2
│ └─目录 3
├─目录 2 (保留,及其子目录)
│ ├─目录 1
│ ├─目录 2
│ └─目录 3
└─目录 3 (保留,及其子目录)
├─目录 1
├─目录 2
└─目录 3
生成所有目录路径列表,想通过 if in 排除某些目录
path = r"D:\目录"
allDir = []
exculdeDir=[r"D:\目录\目录 1"]
for root, dirs, files in os.walk(path):
for i in dirs:
allDir.append(os.path.join(root, i))
for dirpath in allDir:
for exculdepath in exculdeDir:
if exculdepath in dirpath:
allDir.remove(dirpath)
for i in allDir:
print(i+" res")
2 、问题: 通过这种方式,排除了 D:\目录\目录 1 ; D:\目录\目录 1\目录 1 ; D:\目录\目录 1\目录 3 ,但是不排除 D:\目录\目录 1\目录 2 ,不知道是什么原因?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.