【发布时间】:2021-11-29 19:07:18
【问题描述】:
我写了一个简单的搜索功能。还创建了一个空列表以获得结果。
def simple_search(path,filename) :
found_files = []
try:
folders = next(os.walk(path))[1]
for i in next(os.walk(path))[2]:
if filename in i:
print(path+i)
found_files.append(path+i)
for folder in folders:
folder_path = path + '\\' + folder
simple_search(folder_path, filename)
except StopIteration:
pass
return found_files
代码不会将任何内容附加到列表中,并且函数会返回一个空列表。 打印语句 (print(path+i)) 有效,因此 if 条件似乎没有任何问题。 提前致谢。
【问题讨论】:
-
你干嘛
next(os.walk(path)) -
你为什么要手动尝试使用递归来遍历目录?
os.walk已经这样做了。你能用你自己的话解释一下你要做什么吗? -
除了上面列出的错误之外,我还能够将一个文件附加到在我的机器上运行它的列表中。