为什么 glob.glob 和 pathlib.Path.glob 对待隐藏文件的方式不同?

Why do glob.glob and pathlib.Path.glob treat hidden files differently?

考虑这个包含两个文件的文件夹:

test/
    foo
    .bar

在此文件夹上调用 glob.glob('*') 不会列出隐藏的 .bar 文件:

>>> glob.glob('test/*')
['test/foo']

但是pathlib.Path.glob('*')会:

>>> list(Path('test').glob('*'))
[PosixPath('test/.bar'), PosixPath('test/foo')]

我想知道这是有意为之还是可能 bug/oversight。


glob module documentation 声明以点开头的文件是特殊大小写的:

glob treats filenames beginning with a dot (.) as special cases

意思是glob.glob('*')给出的结果是有意的。但是 pathlib 的 glob 呢?我在文档中找不到任何相关信息。这是预期的行为吗?两个函数不应该产生相同的结果吗?

根据官方错误跟踪器上的 issue #26096,此差异已被视为 not a bug,因此完全是有意为之。

感谢 @vaultah 的查找。