如何用Python拼接指定文件夹中符合条件的文件路径?
解决方案
你需要筛选出指定文件夹中包含Bangalore且街道编号为street1、street2、street3、street4的文件,并拼接成完整路径。现有代码仅列出了文件夹下的文件,缺少筛选逻辑,以下是修正后的实现:
完整代码
import os # 指定要遍历的文件夹 folders = ['datafiles', 'templates'] # 定义需要匹配的街道前缀集合 target_streets = {'street1', 'street2', 'street3', 'street4'} # 存储最终结果的列表 result_paths = [] for folder in folders: # 遍历当前文件夹下的所有文件 for filename in os.listdir(folder): # 双重判断:文件名包含bangalore,且前缀属于目标街道列表 if 'bangalore' in filename and any(filename.startswith(street) for street in target_streets): # 用os.path.join拼接路径,适配不同系统的路径分隔符 full_path = os.path.join(folder, filename) result_paths.append(full_path) print(result_paths)
关键说明
- 使用
os.path.join拼接路径:比直接字符串相加更可靠,自动处理Windows和Linux的路径分隔符差异。 - 双重筛选条件:
- 确保文件名包含
bangalore,过滤掉关联Mysore的文件; - 通过
startswith结合any判断文件名前缀是否为street1-4,排除street21、street41这类不符合要求的文件。
- 确保文件名包含
- 结果收集到列表中,输出格式与你期望的完全一致。
内容的提问来源于stack exchange,提问作者mapvin vin
相关产品推荐
相关产品推荐

