# 深度遍历打印一个文件夹def print_all_dir(dir): # 判断dir是文件夹 if os.path.isdir(dir): # 如果是文件夹,先打印该文件夹 print(dir) # 再遍历 for next_dir in os.listdir(dir): # 递归调用,针对该文件夹下的每一个文件/文件夹继续进行遍历打印操作,加上之前文件的路径 print_all_dir(os.path.join(dir, next_dir)) # 判断dir是文件 elif os.path.isfile(dir): # 直接打印 print(dir) # 如果既不是文件夹又不是文件,则该路径不存在, else: # 给出提示并结束函数 print("该路径%s不存在,请您仔细检查!" % dir) return 一般来说,对于一个路径的操作要先判断是否存在,但是在递归里面每一次调用都会判断是否存在,效率会比较低,因此将判断放到else只需要判断第一次传进来的路径是否存在即可。
原文地址:https://www.cnblogs.com/lynnk1ng/p/12344128.html
时间: 2024-12-11 17:27:13