使用提供的Python代码无法生成目标csv文件路径列表该如何解决
问题分析
现有代码的核心问题是仅打印匹配到的csv文件路径,没有将路径存入列表对象中,运行后只能在控制台看到单次输出,无法得到可复用的列表结果。同时现有逻辑未兼容扩展名大小写差异,会导致.CSV/.Csv这类大写后缀的文件被漏判。
修正后可生成列表的代码
import os path = r'C:\Users\fabri\Downloads\arquivos' extension = '.csv' # 初始化空列表存储csv文件路径 csv_path_list = [] for root, dirs_list, files_list in os.walk(path): for file_name in files_list: # 扩展名转小写后匹配,兼容大小写格式的后缀 if os.path.splitext(file_name)[-1].lower() == extension: full_path = os.path.join(root, file_name) csv_path_list.append(full_path) # 此时csv_path_list就是符合要求的路径列表,可直接调用,也可打印验证 print(csv_path_list)
调整说明
- 新增空列表
csv_path_list,每次匹配到符合要求的文件时,调用append()方法将完整路径存入列表,遍历完成后即可得到完整的csv文件路径列表 - 对提取到的文件扩展名调用
lower()方法转小写后再匹配,避免不同大小写格式的csv文件被漏匹配 - 若运行后得到的列表为空,可先确认指定的
path路径真实存在,且路径下确实存储了.csv格式的文件 - 如果不需要遍历子目录,仅需要获取指定路径一级目录下的csv文件,可以将
os.walk替换为os.listdir遍历,减少不必要的嵌套扫描
内容的提问来源于stack exchange,提问作者Fabricio Ferreira De Souza
相关产品推荐
相关产品推荐

