如何让os.listdir返回包含完整路径的目录文件列表?
获取带完整路径的目录文件列表
方法一:使用os.path.join拼接路径
os.listdir()仅返回文件名,可通过遍历结果并与目标目录拼接得到完整路径:
from os import listdir, path target_dir = "g:/new folder" full_file_paths = [path.join(target_dir, filename) for filename in listdir(target_dir)] print(full_file_paths)
os.path.join会自动适配不同操作系统的路径分隔符,避免手动拼接斜杠带来的问题。
方法二:使用pathlib(Python 3.4+推荐)
pathlib是面向对象的路径处理模块,用法更简洁直观:
from pathlib import Path target_dir = Path("g:/new folder") # 转为字符串格式的完整路径 full_file_paths = [str(file) for file in target_dir.iterdir()] # 也可以直接保留Path对象,方便后续路径操作(如判断是否为文件/文件夹) # full_file_paths = list(target_dir.iterdir()) print(full_file_paths)
方法三:使用glob模块
glob可直接匹配目录下的所有文件并返回完整路径,适合快速实现:
import glob full_file_paths = glob.glob("g:/new folder/*") print(full_file_paths)
若需匹配特定类型文件,可修改通配符(如g:/new folder/*.txt匹配所有文本文件)。
内容的提问来源于stack exchange,提问作者user19773037
相关产品推荐
相关产品推荐

