3

当 glob 模式以斜线结尾时,新Path.glob的 frompathlib似乎与旧的行为不同。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()]
4

1 回答 1

2

关于这个有一个开放的错误:

还没有解决方案。

您的解决方法看起来不错,但如果您不介意还包括“webroot”目录本身,您可能更喜欢使用**glob:

>>> list(Path('webroot').glob('**'))
[PosixPath('webroot'), PosixPath('webroot/2017-06-07')]
于 2017-06-07T23:00:02.210 回答