Python os.walk跳过具有特定名称而不是路径的目录
问题描述:
所以我有一个文件系统,我希望能够使用python进行检查和更新。我的解决方案是os.walk,但它随我的需求和我的文件系统而变得有问题。这是目录的布局方式:Python os.walk跳过具有特定名称而不是路径的目录
Root
dir1
subdir
1
2
3...
file1
file2
dir2
subdir
1
2
3...
file1
file2
...
主目录有因此不同的名字“DIR1”和“DIR2”,但里面那些目录具有相同的名称,对方并包含了很多不同的文件和目录。子目录是我想从os.walk中排除的,因为它们增加了不必要的计算。
有没有一种方法可以根据目录的名称而不是路径从os.walk中排除目录,还是我需要做其他的事情?
答
os.walk
允许您修改它给您的目录列表。如果你拿出一些,它不会进入这些目录。
for dirpath, dirnames, filenames in os.walk("/root/path"):
if "subdir" in dirnames:
dirnames.remove("subdir")
# process the files here
(请注意,如果您使用扫描的自下而上的风格,这并不工作。)