我是 Python 的新手,我对下面提到的来自 shutil 模块的代码片段的工作有一些疑问。
def ignore_patterns(*patterns):
"""Function that can be used as copytree() ignore parameter.
Patterns is a sequence of glob-style patterns
that are used to exclude files"""
def _ignore_patterns(path, names):
ignored_names = []
for pattern in patterns:
ignored_names.extend(fnmatch.filter(names, pattern))
return set(ignored_names)
return _ignore_patterns
当调用选项设置为 时shutil.copytree
,它会调用函数并返回一个函数。我的疑问是:ignore
ignore_patterns
ignore_patterns
1)ignore_patterns
调用时将返回_ignore_pattern
函数引用。现在当这个函数将被调用时,它如何仍然访问“模式”列表?一旦被调用的函数“ignore_patterns”返回,在其调用中创建的列表模式应该仅可用于其被调用范围。
_ignore_patterns
2)返回的函数函数名中下划线的意义是什么?