如何最小修改Python函数使其返回文件绝对路径列表并保留原有行为?
解决方案
要最小化修改原函数,同时实现返回文件绝对路径并保留原函数的默认行为,可以通过添加一个可选参数来控制返回格式,具体修改如下:
import os def get_files(dir_path_str, return_abs=False): onlyfiles = next(os.walk(dir_path_str))[2] if return_abs: return [os.path.abspath(os.path.join(dir_path_str, file)) for file in onlyfiles] return onlyfiles
修改说明:
- 新增可选参数
return_abs,默认值设为False,不传入该参数时函数行为和原函数完全一致,仍返回目录下的纯文件名列表; - 当指定
return_abs=True时,通过os.path.join拼接目录路径与文件名,再用os.path.abspath转换为绝对路径,确保无论输入的dir_path_str是相对路径还是绝对路径,都能得到正确的文件绝对路径; - 仅新增了参数判断和列表推导式的转换逻辑,属于最小程度的代码改动。
内容的提问来源于stack exchange,提问作者user366312
相关产品推荐
相关产品推荐

