python - 在 python 中列出目录时如何排除目录(不删除)
问题描述
我正在使用 os.walk,我能够成功列出目录。我将这些目录用作变量,我不需要几个目录作为其中的一部分。我如何排除并让所有其他目录继续前进?
解决方案
您可以通过简单地修改 ie 来做到这一点,即通过subdirectory list
inplace(note this word)
从os.walk()
. 您可以通过多种方式进行操作(我的意思是就地删除):
首先在你的代码上写这个:
import os
root = "the/path/to/root/dir";
exclude_dir_set = set(['some_dir', 'another_some_dir`])
第一种方法:
for current_dir, dirs, files in os.walk(root):
dirs[:] = list(set(dirs) - exclude_dir_set)
第二种方法:
for current_dir, dirs, files in os.walk(root):
dirs[:] = [_dir for _dir in dirs if _dir not in exclude_dir_set]
第三种方法:
for current_dir, dirs, files in os.walk(root):
for _dir in dirs:
try:
if _dir in exclude_dir_set:
dirs.remove(_dir)
except ValueError:
pass # do nothing
如果您有任何问题,请在评论中提问...
推荐阅读
- mysql - Spring-Boot Mysql:如何查询数据库是否为空?
- html - CSS动画自行旋转元素360度,围绕自身旋转元素
- spring-boot - 没有活动配置文件集,回退到默认配置文件:默认
- javascript - 未捕获(承诺中)错误:输入 0 与层 lstm_LSTM1 不兼容:预期 ndim=3,发现 ndim=2
- .htaccess - .htaccess 使用 RewriteBase 时出现内部服务器错误
- python - 如何向 pip 包“console_scripts”入口点添加自动完成功能?
- java - java中next()和nextLine()的区别
- javascript - 某些符号在输入到脚本时不会被替换
- powerbi - 计算比率并在 DAX 中的 powerbi 中以相同的度量反转该比率(没有假设参数)
- python - 函数定义的逆向工程条件输出