我希望忽略我的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'对象不支持项目分配
有什么想法吗?
感谢。
答案 0 :(得分:15)
您正在使用内置的dir
,可能您的意思是dirs
更改此
dir[:] = [d for d in dirs if not is_folder_to_ignore(d)]
到这个
dirs[:] = [d for d in dirs if not is_folder_to_ignore(d)]