我想在地图中搜索地图名称。为了使我想要的更清楚,这就是地图结构:
\All data
\Submap1
\SubSubmap1
\some files
\Subsubmap2
\Submap2
\Submap3
我想要做的是搜索SubSubmap&#39。我想在子图的名称上搜索它们。
我希望你们能给我一个良好的开端,因为我找不到任何方法来搜索地图的名称。
答案 0 :(得分:0)
让我们使用here
中的explore()
函数将os.walk()
的结果保存到字典中。
之后,只需迭代名称并将其与模式匹配。
我的文件夹:
.\all_data
.\all_data\sub1
.\all_data\sub1\subsub1
.\all_data\sub1\subsub1\some_files
.\all_data\sub1\subsub2
.\all_data\sub2
def explore(starting_path):
alld = {'': {}}
for dirpath, dirnames, filenames in os.walk(starting_path):
d = alld
dirpath = dirpath[len(starting_path):]
for subd in dirpath.split(os.sep):
based = d
d = d[subd]
if dirnames:
for dn in dirnames:
d[dn] = {}
else:
based[subd] = filenames
return alld['']
data = explore('.')
for k, v in data['all_data'].iteritems():
if v:
for key in v:
if 'subsub' in key:
print key
>>> {'all_data': {'sub1': {'subsub1': {'some_files': []}, 'subsub2': []},
'sub2': []}}
>>> subsub2
>>> subsub1
您可以在if 'subsub' in key:
使用更智能的验证作为正则表达式等等。