当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()]
答案 0 :(得分:2)
有一个关于此问题的公开错误:
还没有决议。
你的解决方法看起来很好,但是如果你不介意也包括“webroot'目录本身你可能更喜欢使用money
glob:
**