假设我有一个包含多个子目录的目录:
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)
您正在寻找的功能是os.walk
下面是一个简单而最少的工作示例。您应该可以修改它以满足您的需求: