假设我有一个包含多个子目录的目录: 在目录 我想查看我的主目录( 答案 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.xml files (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)
1 个答案:
os.walk
destination_root = "C:\Projects\NED_1m"
extension_to_find = ".xml"
os_file_path_char = "\\";
master_list = []
extension_to_find_len = len(extension_to_find)
for path,dir,files in os.walk(destination_root):
for filename in files:
# and of course, you can add extra filter criteria
# such as "contains _meta" right in here
if filename[-extension_to_find_len:] == extension_to_find:
print(path + os_file_path_char + filename)
master_list.append(path + os_file_path_char + filename)