# -*- coding: UTF-8 -*-
import os
def main(param: dict):
"""遍历获取一个文件夹中的路径信息, 可控制遍历的深度; 在api_param中输入对应的参数即可使用"""
f: str = param["需要遍历的文件夹"]
mix_ti: int = param["文件夹遍历深度"]
c = [] # 收集文件路径
cc = [] # 收集文件夹路径
error = [] # 收集异常信息
def core(fp, ti):
try:
with os.scandir(fp) as it:
for i in it:
if i.is_file(): # 如果路径是文件的路径
c.append(i.path)
else:
if ti + 1 < mix_ti: # 控制遍历的层数
core(i.path, ti+1) # 递归
cc.append(i.path)
except Exception as s:
error.append(str(s))
core(f, 0) # 执行函数
return c, cc, error # c-> list, cc-> list, err-> list
if __name__ == "__main__":
api_param = {
"需要遍历的文件夹": r"C:\Users",
"文件夹遍历深度": 3
}
files, folder, err = main(api_param) # files->装着文件路径的列表, dirs->装着文件路径的列表, err->装着报错信息的列表
# 打印文件路径
for i in files:
print(i)
# 打印文件夹路径
for i in folder:
print(i)
# 打印错误信息
for i in err:
print(i)
06-08