忽略os.walk()中的目录?

dub*_*ech 5 python

我想忽略我的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);
Run Code Online (Sandbox Code Playgroud)

我明白了:

  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)];
Run Code Online (Sandbox Code Playgroud)

TypeError:'builtin_function_or_method'对象不支持项目分配

有任何想法吗?

谢谢.

Unk*_*own 15

你正在使用dir哪个是内置的,可能你的意思dirs

改变这一点

dir[:] = [d for d in dirs if not is_folder_to_ignore(d)]
Run Code Online (Sandbox Code Playgroud)

对此

dirs[:] = [d for d in dirs if not is_folder_to_ignore(d)]
Run Code Online (Sandbox Code Playgroud)