0

我正在使用python2.7并尝试在子目录中递归查找文件,但 pathlib2 返回 NULL

>>> from pathlib2 import Path
>>> list(Path('~/text-segmentation/data/choi/').glob('**/*.ref'))
[]

python3而如果使用 glob 模块完成同样的事情

>>> import glob
>>> glob.glob('~/text-segmentation/data/choi/**/*.ref', recursive=True)
['./data/choi/2/9-11/34.ref', './data/choi/2/9-11/26.ref', './data/choi/2     
/9-11/30.ref'] 

此外,以下技术也不起作用

>>> for root, dirnames, filenames in os.walk('~/text-segmentation/data/choi/'):
...     for filename in fnmatch.filter(filenames, '*.ref'):
...             matches.append(os.path.join(root, filename))

>>> matches
[]

我必须在 python2 中工作。有什么解决方法吗?

编辑:使用/home/myuser/而不是~

4

1 回答 1

0

如果您希望能够扩展为主目录,则必须使用PosixPath该方法:expanduser()~

list(PosixPath('~/text-segmentation/data/choi/').expanduser().glob('**/*.ref'))
于 2018-07-28T12:33:11.503 回答