递归的使用不是很明白,为什么要在函数的第一行定义result = glob(path)呢
来源:2-11 清理重复的文件
吴老师在线叛逃
2022-01-13 20:59:14
# coding:utf-8
from glob import glob
import os
data = {}
def clear(path):
result = glob(path)
for _data in result:
if os.path.isdir(_data):
_path = os.path.join(_data, '*')
clear(_path)
else:
name = os.path.split(_data)[1]
f = open(_data, 'r')
content = f.read()
if name in data:
_content_dict = data[name]
if _content_dict == content:
os.remove(_data)
print(f'{_data}被删掉了')
else:
data[name] = content
if __name__ == '__main__':
path = os.path.join(os.getcwd(), '*')
clear(path)
1回答
好帮手慕燕燕
2022-01-14
同学,你好!glob(path)是遍历path路径下的所有文件和目录,可以将这里的path理解为最外层的路径,根路径,得到的结果result是一个列表,for循环遍历这个列表,找到子目录,递归对子目录再进行遍历,同学可结合下面的运行结果理解一下

祝:学习愉快!
相似问题