【发布时间】:2018-09-26 12:11:53
【问题描述】:
考虑这个文件夹包含两个文件:
test/
foo
.bar
在此文件夹上调用 glob.glob('*') 不会列出隐藏的 .bar 文件:
>>> glob.glob('test/*')
['test/foo']
>>> list(Path('test').glob('*'))
[PosixPath('test/.bar'), PosixPath('test/foo')]
我想知道这是有意为之还是可能是错误/疏忽。
glob module documentation 声明以点开头的文件是特殊大小写的:
glob 将以点 (.) 开头的文件名视为特殊情况
意思是glob.glob('*')给出的结果是有意的。但是 pathlib 的 glob 呢?我在文档中找不到任何相关信息。这是预期的行为吗?两个函数不应该产生相同的结果吗?
【问题讨论】:
-
那里的讨论很好地解释了为什么返回点文件,但没有解释与 glob.glob() 的不一致 - 你可以把它归结为历史。
-
@vaultah 哦,很好的发现。我可以说服您将其发布为答案,以便您接受我的投票吗?
-
你肯定不容易受贿。如果我在你的答案旁边加上一个绿色的复选标记怎么办? :P
标签: python glob hidden-files