我有下面的代码,我想跳过迭代中的“NetIQ”文件夹,但我想我遗漏了一些东西,因为我在运行代码时仍然从该文件夹中获取文件,请帮助
path = "C:\User\Work\Identity\TestFolders"
def list_files(dir):
r = []
skip = ["NetIQ"]
for root, dirs, files in os.walk(dir):
if dirs in skip:
continue
else:
for name in files:
r.append(os.path.join(root, name))
return r
print(list_files(path))
我认为您对这个
for
循环的输出的期望是错误的os.walk
对目录进行深度优先搜索,并将为每个子目录生成新的输出(root
、dirs
和files
)。所以如果你说这将仅适用于
NetIQ
实际所在的目录-检查,此文件夹中的文件应丢失有关解决方案,请参阅其他答案
这是因为
dirs
不是字符串,而是元组。你可以看一下文档here。 您可以检查元组中的第一项是否在skip
中:或者检查元组中是否有任何项在skip中,如下所示:
尝试一个列表:
相关问题 更多 >
编程相关推荐