【发布时间】:2012-10-25 16:41:58
【问题描述】:
我希望忽略我的 os.walk() 中的一些目录。
我愿意:
folders_to_ignore = ['C:\\Users\\me\\AppData\\'];
def find_files(directory, pattern):
for root, dirs, files in os.walk(directory):
dir[:] = [d for d in dirs if not is_folder_to_ignore(d)];
for basename in files:
if fnmatch.fnmatch(basename, pattern):
filename = os.path.join(root, basename)
print("filename=" + filename);
我明白了:
File "C:\Users\me\workspaces\pythonWS\FileUtils\findfiles.py", line 29, in find_files
dir[:] = [d for d in dirs if not is_folder_to_ignore(d)];
TypeError: 'builtin_function_or_method' 对象不支持项目分配
有什么想法吗?
谢谢。
【问题讨论】:
-
@mgilson 我认为目录是这样更新的,请参阅:stackoverflow.com/questions/5141437/…
-
@mgilson 请参阅
os.walk上的文档了解就地修改目录列表的含义。 -
@dublintech -- 你是对的。我(也)快速浏览了文档,并没有看到就地修改
dirs实际上会有所不同。这很酷。谢谢你今天教我一些新东西!
标签: python