# 深度遍历打印一个文件夹
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
本站声明:网站内容来源于网络,若有侵权,请联系我们,我们将及时处理。