获取指定目录下面的,文件信息,总结的两个方法
import os
# 递归方法获取时间,耗时是os方法的5倍,不推荐
def get_file_list(file_path, file_list=[]) -> list:
"""
使用递归获取文件夹下面的全部文件路径
:param file_path: 文件夹路径
:param file_list:空列表
:return:文件路径列表
"""
if os.path.isfile(file_path):
file_list.append(file_path)
else:
for file_name in os.listdir(file_path):
# 如果需要忽略,某些文件夹,跳过即可
# if file_name == "XXX":
# continue
file_abs_path = os.path.join(file_path, file_name)
get_file_list(file_abs_path, file_list)
return file_list
# 速度快,优先推荐这个方法
def get_file_list_two(file_path: str) -> list:
"""
使用os自带方法,获取文件夹目录下面的全部文件路径
:param file_path: 文件夹路径
:return: 文件路径列表
"""
file_list = []
for path_dir, dir_names, file_names in os.walk(file_path):
for filename in file_names:
file_abs_path = os.path.join(path_dir, filename)
file_list.append(file_abs_path)
return file_list
path = r"D:"
print(get_file_list(path))
print(get_file_list_two(path))