当glob以斜线结尾时,如何防止pathlib的Path.glob返回文件?

时间:2017-06-07 18:20:21

标签: python pathlib

当glob模式以斜线结尾时,来自Path.glob的新pathlib似乎与旧glob.glob的行为不同。

In [1]: from pathlib import Path

In [2]: from glob import glob

In [3]: glob('webroot/*/')
Out[3]: ['webroot/2017-06-07/']

In [4]: list(Path().glob('webroot/*/'))
Out[4]: 
[PosixPath('webroot/.keep'),
 PosixPath('webroot/2017-06-07'),
 PosixPath('webroot/matches.2017-06-07.json')]

这是设计上的,我还没有遇到一些兼容性问题?有没有办法阻止它这样做?

现在我将解决这个问题:

[path for path in Path().glob('webroot/*/') if path.is_dir()]

1 个答案:

答案 0 :(得分:2)

有一个关于此问题的公开错误:

还没有决议。

你的解决方法看起来很好,但是如果你不介意也包括“webroot'目录本身你可能更喜欢使用money glob:

**