我正在使用python2.7
并尝试在子目录中递归查找文件,但是pathlib2返回NULL
>>> from pathlib2 import Path
>>> list(Path('~/text-segmentation/data/choi/').glob('**/*.ref'))
[]
如果使用glob模块在python3
中完成了相同的操作
>>> 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/
代替~
答案 0 :(得分:0)
如果要能够将PosixPath
扩展为主目录,则必须将expanduser()
与~
方法一起使用:
list(PosixPath('~/text-segmentation/data/choi/').expanduser().glob('**/*.ref'))