【发布时间】:2020-06-28 04:42:27
【问题描述】:
我正在尝试列出我的笔记本电脑的所有文件,但我想排除一些根目录。
例如: 我有以下文件:
/Users/teste/demo/file.csv
/Users/teste/demo3/file.csv
/Users/project/file.csv
我想要的是从/Users/teste/ 中排除所有文件。为此我有这个代码:
import os
exclude = ['/Users/teste/',]
for root, dirs, files in os.walk("\\", topdown=False):
if root not in exclude:
for name in files:
print(name)
但是,我的代码正在打印目录 demo 和 demo3 中的文件,因为根目录包含演示部分。如果我打印根目录,我会得到:
/Users/teste/demo
/Users/teste/demo3
/Users/project/
我只想包含 /Users/project/file.csv 文件
如何使用父根进行过滤?
【问题讨论】:
-
你在
print( root )中得到了什么?也许它和你想象的不一样。 -
我明白我在这个问题上所说的话:/Users/teste/demo /Users/teste/demo3 /Users/project/
-
你可以随时测试
root.startswith("/Users/teste/") -
但是如果我需要过滤更多目录,我会失去列表功能
-
然后创建使用for循环测试列表中所有元素的函数