如何在多级子目录中查找文件

问题描述 投票:0回答:1

假设我有一个包含多个子目录的目录:

one_meter = r"C:\Projects\NED_1m"

在目录one_meter中,我想找到所有以'.xml'结尾并包含字符串“ _meta”的文件。我的问题是,某些子目录的文件级别为1级,而其他子目录的级别为2级例如:

one_meter > USGS_NED_one_meter_x19y329_LA_Jean_Lafitte_2013_IMG_2015 > USGS_NED_one_meter_x19y329_LA_Jean_Lafitte_2013_IMG_2015_meta.xml
one_meter > NY_Long_Island> USGS_NED_one_meter_x23y454_NY_LongIsland_Z18_2014_IMG_2015 > USGS_NED_one_meter_x23y454_NY_LongIsland_Z18_2014_IMG_2015_meta.xml

我想查看我的主目录(one_meter') and find all of the _meta.xmlfiles (regardless of the subdirectory) and append them to a list (one_m_lister = []`)。我尝试了以下操作,但未产生任何结果。我在做什么错?

one_m_list = []
for filename in os.listdir(one_meter):
    if filename.endswith(".xml") and "_meta" in filename:
        print(filename)
        one_m_list.append(filename)
python-3.x loops subdirectory listdir
1个回答
0
投票

您正在寻找的功能是os.walk

下面是一个简单而最少的工作示例。您应该可以修改它以满足您的需求:

© www.soinside.com 2019 - 2024. All rights reserved.