【发布时间】:2016-05-04 04:07:20
【问题描述】:
我尝试在其中查找缺少文件名“kavi*”的文件夹。所有文件夹分布在一个大文件夹中,该文件夹分为许多子文件夹和子子文件夹。 我开始这样的代码,但我不知道如何继续:
import arcpy,fnmatch,os
rootPath = r"D:\PROJECTS\road57\gis\layers\taba\taba-mmi"
pattern = 'kavi*.shp'
for root, dirs, files in os.walk(rootPath):
for filename in fnmatch.filter(files, pattern):
print(os.path.join(root, filename))
输出是:
D:\PROJECTS\road57\gis\layers\taba\taba-mmi\8233\4022502\kavim kchulim.shp
D:\PROJECTS\road57\gis\layers\taba\taba-mmi\8233\4022950\kavim kchulim.shp
D:\PROJECTS\road57\gis\layers\taba\taba-mmi\8233\4050004\kavim_kchulim.shp
D:\PROJECTS\road57\gis\layers\taba\taba-mmi\9887\4050012\kavim_kchulim.shp
D:\PROJECTS\road57\gis\layers\taba\taba-mmi\9889\4050025\kavim_kchulim.shp
D:\PROJECTS\road57\gis\layers\taba\taba-mmi\9900\4050040\kavim_kchulim.shp
>>>
这会打印所有带有“kavi*”文件的文件夹。但我需要输出所有不包含“kavi*”文件的文件夹
【问题讨论】:
-
那么您要寻找的输出是什么?您已经在打印所有匹配的文件了。
-
我不确定我是否理解。假设您有:
a/、a/b/a/c/、a/c/kavi.shp、a/c/d/。预期的输出是什么? -
例如,如果我在所有文件夹中都有“kavi*.shp”文件,而在一个文件夹中我没有这个文件,我会得到这样的输出:D:\ 中缺少文件项目\road57\gis\layers\taba\taba-mmi\7333\4022000
标签: python python-2.7 directory subdirectory