繁体   English   中英

为什么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')]

我想知道这是有意还是可能是错误/疏忽。


glob模块文档声明以点开头的文件是特殊的:

glob将以点(。)开头的文件名视为特殊情况

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

根据官方错误跟踪器上的问题#26096 ,这种差异被认为not a bug ,因此完全是有意的。

归功于@vaultah的发现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM